【postfix】From:のアドレスでrelay先を振り分ける


tkp_vpv1gFjk0ukjorWX3Gi8Isr3o3BC9.jpg

こんな環境を作ろうとした時の設定のメモ。

とりあえず、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な通信を試みるようです。