• 作成:

J:COMのようなOP25Bをしていてサブミッションポート(587)をサポートしていないプロバイダでTLS(465)でメールをリレー送信する

J:COMに完全に移行してメールが送信できなくなった

OP25Bのせいです.

J:COMは一応リレー用メールサーバを用意している

マンションが契約した時に配られた書類をひっくり返して確認しました.

しかし世の中の手順書はみんなサブミッションポートを前提にしている

postfixでOutbound Port 25 Blocking(OP25B) 対策 -自宅サーバ編- | server-memo.net など色々資料がありますが, みんな587を前提にしているのでそのまま使えません.

Gmail使う方法だとダメ

Gmailは元のFromX-Google-Original-Fromに格納してFromがGmailのものになってしまうのでダメです.

ポートを465に変えるだけだとダメだったと思ったらユーザ名がドメインも含んでるだけでした

sasl2使うのは諦めてpostmapで認証する仕組みにして以下のようにmain.cfを書きました.

# OB25B対策
smtp_tls_loglevel = 1
smtp_use_tls = yes
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt
relayhost = smtpa.jcom.zaq.ne.jp:465
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_pass
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain, login
smtp_use_tls = yes
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt

smtp_tls_security_level = may

と書いたらダメらしいですよ. なんででしょうね. 探索はしない.

しかし届かなくてなんでかなーと思ったらsmtp_passに書いたユーザ名を@の後のドメイン含んだ形にしないとダメだったからでした. ちゃんとThunderbirdが行った設定を見るべきでしたね.

SPFを設定する

そのままだとGmailに送ってもヘッダーが

Received-SPF: softfail

とSPFがエラーになって迷惑メール扱いされるので, J:COMのメールドメインをincludeしないといけません.

v=spf1 a:ncaq.net include:jcom.zaq.ne.jp ~all

のように.

そしたら

Received-SPF: pass

になって合格です.