id:otn:20090604 の続き。
今度は、SMTP認証に。
プロバイダが nifty で、アカウントが foofoobar@nifty.com、パスワードが pasuwaado の場合。
(1) main.cf に設定追加
relayhost = [smtp.nifty.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_password smtp_sasl_security_options = noanonymous smtp_generic_maps = hash:/etc/postfix/sender_canonical # これは前回のもの 2009-07-02 修正
smtp_sasl_security_options はデフォルトだとanonymousで認証掛けに行くんだろうか。書かないと認証エラーになる。ググって発見。
このあたりは相手サーバーによっても異なるかも。
(2) /etc/postfix/smtp_sasl_password ファイルの作成
[smtp.nifty.com]:587 foofoobar:pasuwaado
(3) マップの作成
$ postmap hash:/etc/postfix/smtp_sasl_password
(4) postfixの再起動/リロード
これで、submissionポートにSMTP認証して送るので、接続プロバイダ以外のメールサーバーにも送れるはず。
事前に、cyrus-sasl-plain パッケージのインストールが必要。
ちなみに、ドキュメントはここの日本語のものを参考にしている。http://www.postfix-jp.info/trans-2.2/