最近のOP25Bの影響で、自宅サーバからメールを送信するにはプロバイダが提供する中継サーバを経由する必要がでてきました。僕のプロバイダはBiglobeなのですが、正式に中継サーバがサービス化したので、PostfixをSMTPクライアントとしてSASL認証させるように設定を変更しました。その変更点をメモしておきます。
まず、僕のサーバの環境を以下に記します。
OS : Fedora Core 6
MTA : Postfix 2.3
設定変更の手順としては、
(1)/etc/postfix/main.cf の設定を変更
(2)/etc/postfix/sasl_passwd を作成し、認証情報を記述
(3)sasl_passwd を db 化し、postfix を reload
となります。
/etc/postfix/main.cf は、次のように設定しました。ここでは中継サーバを smtpauth.biglobe.ne.jp、メールアドレスを mail@xxx.biglobe.ne.jp、POP用のパスワードを mailpasswd としていますが、プロバイダから通知された適切なものに置き換えて読んでください。
relayhost = [smtpauth.biglobe.ne.jp]:25
smtp_sasl_type = cyrussmtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
気をつけないといけないのが、smtp_sasl_xxx と smtpd_sasl_xxx は別物であるということです。前者の設定はSMTPクライアントとしてのSASL認証に使われますが、後者はSMTPサーバとしてのSASL認証に使われます。
次に、/etc/postfix/sasl_passwd を作成し、次のように記述します。saslpasswd の所有者は root で、パーミッションは600に設定しましょう。
[smtpauth.biglobe.ne.jp]:25 mail@xxx.biglobe.ne.jp:mailpasswd
/etc/postfix/sasl_passwd を作成したら、db化します。その後、postfix の設定を再読み込みすれば完了です。
# postmap /etc/postfix/sasl_passwd
# /etc/init.d/postfix reload
参考にしたウェブページは以下のとおりです。
[blog] Postfix-saslでOP25B対策 - らるるのメモ帳
[blog] Vine3.2のPostfixでSASL認証 - おはよう。目覚めは眩しくて、悲しい...
[blog] 自宅サーバからeo光のSMTPサーバにメールをリレーする - Open the Next - Annex
[web] Postfix SASL Howto
(3/8 追記)
ちなみにエラーメッセージで、次のようなフレーズが書かれている場合の確認点についても記述しておきます。
530 Need AUTH before MAIL (in reply to MAIL FROM command)
→ 中継サーバに対してSASL認証を行っていません。自宅サーバのMTAをSTMPクライアントとしてSASL認証するように設定しましょう。具体的には、/etc/postfix/main.cfの設定を確認しましょう。
500 authentication failed
→ 認証情報が間違っている可能性があります。フォーマットが間違っていることもあるので、/etc/postfix/sasl_passwdの内容をよく確認しましょう。sasl_passwdを修正したら、db化することもお忘れなく。
(4/8 追記)
それっぽいキーワードで検索したら、内容は明らかに引用しているのに引用として扱ってない+このエントリへのリンクもないページを発見してしまったので、対抗処置をとりました。
コメントする