postfixでSMTP認証が必要なメールサーバーにrelayする

固定IPのISPから普通の個人向けのISPに移行したためOPB25Bの対象となってしまいました。

自宅サーバーからのメールはISPのメールサーバーに単純にRelayすれば良いと甘く考えていたのですが……

新ISPの設定情報を確認したところ……
Submissionポート専用、これは良い。
え? TLS接続のみ?
SMTP認証必須ですか???

困った……

という訳で、postfixでSMTP認証が必要なメールサーバーにrelayする方法を調べてみました。

まず、postfixがsaslとTLSに対応している必要があります。
これに関しては、使いもしないのに対応版でコンパイルしてたので問題なし、OK!です。

機能的には問題ないので、後は設定の問題です。

まず、main.cfに以下の設定を追加

relayhost = smtp.hogehoge.jp:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain, login
smtp_enforce_tls = yes
smtp_tls_enforce_peername = no

/usr/local/etc/postfix/authinfoにsmtp認証のユーザー情報を記述

smtp.hogehoge.jp??? username:password

あとはpostmap /usr/local/etc/postfix/authinfo してからpostfixの再起動

とりあえず、これでTLS接続してSMTP認証してrelay転送が出来ました。