web-dev-qa-db-ja.com

ユーザーがメールを送信できるように、SASLDBを使用してSASL2経由でSMTP-AUTHを使用してPostfixを設定する

こんにちは、

ここ数日、SASLDBでPostfixをセットアップして、Ubuntu Server15.04のSMTP経由でアプリケーションからメールを送信しようとしました。私はそれについてたくさん検索し、読んでテストしましたが、それを動作させることができません。 Postfixとメールサーバーは私にとって新しいので、誰かが私を助けてくれることを願っています。

私が最後に試したのは次のとおりです。

  1. Ubuntu Server 15.04x64のクリーンインストールを取得しました。

  2. このスクリプトを実行して、Postfix、SASL AUTHをインストールおよび構成します: https://Gist.github.com/richarddong/263435

  3. これにより、chrootされたPostfixで動作するようにSASLAUTHDを修正します(3.および4.段落): https://github.com/webmin/webmin/issues/58#issuecomment-2298572

    修正するにはconnect():そのようなファイルまたはディレクトリはありませんtestsaslauthdコマンドによるエラー。

  4. _saslpasswd2 -c -u example.com username_でユーザーを作成しました。

    _sasldblistusers2_で正常に検証してから、次のコマンドでテストしました。

    • _testsaslauthd -u [email protected] -p password_

    • _testsaslauthd -u username -p password -r example.com_

    • _testsaslauthd -u [email protected] -p password -s smtp_

    • _testsaslauthd -u username -p password -r example.com -s smtp_

    • _testsaslauthd -u username -p password_

    しかし、これらはすべて次のように返されます::NO "認証に失敗しました"

    _testsaslauthd -u root -p password_のように、rootユーザーとパスワードのみを受け入れました。

  5. 構成を確認したところ、SASLDBを使用していないことがわかったので、次のようにしました。 https://serverfault.com/a/547851/317421

    SASL、Postfixの設定後、結果は上記と同じでした。

    _telnet localhost 25_を使用してrootユーザーを試し、接続してから_AUTH PLAIN base64string_を試しました。

    Perl -MMIME::Base64 -e 'print encode_base64("\000root\000password");'

    しかし、_535 5.7.8 Error: authentication failed: generic failure_で返されます。

これが私が今いるところです。

もちろん、これらのステップの間にPostfixとSASLAUTHDを再起動しました。

システムも再起動してみましたが、何も変わりませんでした。

誰かがとても親切で、これをセットアップするのを手伝ってくれるか、これのためのスクリプトを手に入れたら、それは素晴らしいことです!

1
Tamas Szoke

誰かが同じエラーを受け取った場合、これはおそらく何時間もの検索からあなたを救うでしょう。

Sasldbを使用するには、ファイルMECHANISMS="pam"MECHANISMS="sasldb"行を/etc/default/saslauthdに変更する必要があります。これは私が見逃したことです。

次に、saslauthdとpostfixを再起動すると、上記の構成で機能します。

1
Tamas Szoke