これは『エンジニアが知っておくべき メール送信・運用ノウハウ、メールの認証技術やセキュリティについて投稿しよう! by blastengine Advent Calendar 2024』の12月3日(水曜日)用の記事です。

なぜかメールが届かない(なぜかではない)

共用サーバー上のWordpressからパスワードリセットを申請してもなぜか登録者のGmailアドレスにメールが届かない。各種通知メールも届かない。
確認しながらひとつずつGmailのガイドラインに対応していきましょう。問題が起きる前に早めに対応しておけという話ではある。

対応が必要なことの確認

MailData様の『Googleの2024年2月1日からの新しいメールセキュリティポリシーについて』を参考に、必要な対応を確認していきましょう。
なおユースケースから、メール数は5,000通/日以下と想定します。また、メール送信には同じサーバー上のPostfixを利用します。

項目対応
ドメイン用のSPFまたはDKIMメール認証を設定するSPFを設定します
DMARCの実装必須ではありませんが設定します
DMARCのポリシーp=none; sp=reject; として設定します
FDrDNS設定します
STARTTLS設定します
RFC5322準拠のメールフォーマット準拠します(Postfixが何とかしてくれるはず)
ARCメール転送は行わないため、対応しません
メーリングリストのList-idヘッダメーリングリストではないため、対応しません
RFC8058ベースのワンクリック配信停止メールマガジン配送ではないので、対応しません。

SPFの設定

これは簡単。DNSでSPF用のTXTレコードを設定しましょう。
設定後は『SPF Surveyor』等で設定が正しいか確認しておきましょう。

DMARCの実装 & ポリシー

下記のTXTレコードをドメイン "_dmarc.rainyvillage.jp" に設定します。

"v=DMARC1; p=none; sp=reject; rua=mailto:[email protected]"

FDrDNS

サーバーIPアドレスの逆引き設定を行います。
今回は、利用しているVPS事業者様の管理画面より設定しました。

STARTTLS

Postfixをメール送信に使う場合は "main.cf" 内で "smtp_tls_security_level" の設定が妥当であれよいようです。
今回は "smtp_tls_security_level=may" と設定しました。

WordPress側の設定

設定した同じサーバー内のPostfixを利用するようにWordpressを設定します。
設定しないと意図していないメールサーバーからメールが送られる場合があります。(送られました)
今回はWordpressプラグイン『WP Mail SMTP Lite』を導入して設定しました。

設定後の受信結果


正常にメールが受信できるようになりました。また、暗号化された送信が利用されています。

おわりに

明日の投稿者は未定のようです。(2024/11/24現在)
ご参加をお待ちしております。