通过 mysql 进行 Courier-IMAP pop3d 身份验证

通过 mysql 进行 Courier-IMAP pop3d 身份验证

我有一个任务,需要将一个邮件服务器从一个箱子迁移到另一个箱子,到目前为止我已经配置好了,Postfix一切正常。但是,Courierpop3d服务器无一例外地失败了。

因此,我有 Courierpop3d服务器,它需要通过MySQL数据库对用户进行身份验证。

/var/log/maillog

Oct 20 03:40:09 vps-1161420-22112 pop3d: Connection, ip=[::ffff:127.0.0.1]
Oct 20 03:40:15 vps-1161420-22112 pop3d: LOGIN: ip=[::ffff:127.0.0.1], command=USER
Oct 20 03:40:21 vps-1161420-22112 pop3d: LOGIN: ip=[::ffff:127.0.0.1], command=PASS
Oct 20 03:40:21 vps-1161420-22112 pop3d: LOGIN: ip=[::ffff:127.0.0.1], [email protected]
Oct 20 03:40:21 vps-1161420-22112 pop3d: LOGIN: ip=[::ffff:127.0.0.1], password=some-foo
Oct 20 03:40:21 vps-1161420-22112 authdaemond: received auth request, service=pop3, authtype=login
Oct 20 03:40:21 vps-1161420-22112 authdaemond: authmysql: trying this module
Oct 20 03:40:21 vps-1161420-22112 authdaemond: stopping authdaemond children
Oct 20 03:40:21 vps-1161420-22112 authdaemond: restarting authdaemond children
Oct 20 03:40:21 vps-1161420-22112 authdaemond: modules="authmysql", daemons=5
Oct 20 03:40:21 vps-1161420-22112 authdaemond: Uninstalling authmysql
Oct 20 03:40:21 vps-1161420-22112 authdaemond: Installing libauthmysql
Oct 20 03:40:21 vps-1161420-22112 authdaemond: Installation complete: authmysql
Oct 20 03:40:22 vps-1161420-22112 pop3d: LOGIN FAILED, [email protected], ip=[::ffff:127.0.0.1]
Oct 20 03:40:22 vps-1161420-22112 pop3d: authentication error: Input/output error

最后两行没有过多说明 IO 错误实际上是什么。

我已经在文件中配置了 mysql 连接/etc/authlib/authmysqlrc::

MYSQL_SERVER            localhost
MYSQL_USERNAME          postfix
MYSQL_PASSWORD          some-password
....
other mysql settings

我已经验证我可以MySQL使用其凭证连接到其自身。

那么,有什么方法可以增加pop3d或的详细程度吗authmysql?我已经DEBUG_LOGIN=2authdaemonrc文件中设置了。

非常感谢!

答案1

我自己能够解决这个问题。

关键问题是我courier-authlib在开发箱上构建了二进制文件我的生产箱有mysql-5.5.*,我的开发箱也有mysql-5.6.*

显然,lib文件的差异导致了authmysql调用时崩溃......

希望这对某人有帮助...

相关内容