こんな環境を作ろうとした時の設定のメモ。
とりあえず、2つのステップに分けて書いていきます。【ステップ1】 まずはrelay先にauthやtlsに対応させる。
《main.cf》 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_use_tls = yes
とりあえず、authとtlsをmain.cf側で有効にします。
《/etc/postfix/sasl_passwd》 [mail.biglobe.ne.jp]:587 username password [smtp.gmail.com]:587 username password
必要なユーザーとパスワードはここに書きます。このファイルの編集が終わったら次のコマンドを実行# postmap /etc/postfix/sasl_passwd とりあえず、これでrelay先がauthやTLS必須でも行けるようになりました。main.cfに
《main.cf》 relayhost = [mail.biglobe.ne.jp]:587
とでも追加して、postfixを再起動すると、relayhostの先がTLSやauthが必要な場合でも、リレーするようになります。【ステップ2】 Fromアドレスでリレー先を振り分ける今回はリレーするだけでなく、条件別でリレー先を変えるという事を行いました。まず、ファイルを編集します。
《main.cf》 smtpd_sender_restrictions = sender_check smtpd_restriction_classes = sender_check sender_check = check_sender_access hash:/etc/postfix/allow_sender 《/etc/postfix/allow_sender》 biglobe.ne.jp FILTER smtp:[mail.biglobe.ne.jp]:587 gmail.com FILTER smtp:[smtp.gmail.com]:587
以上、編集し終わったら# postmap /etc/postfix/allow_sender でハッシュ化。postfixを再起動すると、biglobe.ne.jpはmail.biglobe.ne.jp、gmail.comはmail.gmail.comへリレーするようになります。また、main.cfで smtp_use_tls = yes の設定をしているので、リレー先に接続すると、まずSTARTTLSを試みます。TLSが使えなかった時にplainな通信を試みるようです。