あるメールサーバーをあるボックスから別のボックスに移行するタスクがあり、これまでにPostfix
を構成して、機能しています。ただし、Courier pop3d
サーバーは例外なく失敗します。
だから、私はMySQL
データベースに対してユーザーを認証する必要があるCourierpop3d
サーバーを持っています。
/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
最後の2行は、IOエラーが実際に何であるかについてはあまり説明していません。
ファイル内でmysql接続を構成しました:/etc/authlib/authmysqlrc
:
MYSQL_SERVER localhost
MYSQL_USERNAME postfix
MYSQL_PASSWORD some-password
....
other mysql settings
資格情報を使用してMySQL
自体に接続できることを確認しました。
では、pop3d
またはauthmysql
の冗長性を高める方法はありますか? authdaemonrc
ファイルにDEBUG_LOGIN=2
を設定しました。
どうもありがとうございます!
私はこれを自分で解決することができました。
重要な問題は、開発ボックスにcourier-authlib
binariesを構築したことですしかし本番ボックスにはmysql-5.5.*
があり、開発ボックスにはmysql-5.6.*
がありました。
明らかに、libファイル間の違いにより、呼び出されたときにauthmysql
がクラッシュしました...
これが誰かに役立つことを願っています...