自宅サーバー(Postfix)から外へメールを送る その2

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/