メールが届かない時の切り分け — 実務フロー
最終更新: 2026-04-24 · 所要 7 分
結論
- まず /tools/mail-deliverability で SPF / DKIM / DMARC を確認
- MX が解決するか、ローカル名前解決とパブリック側で差が出ていないかを確認
- Gmail / Yahoo の場合、レピュテーション低下の可能性も
どういう場面で必要か
サービスから送ったメール(サインアップ確認・パスワードリセット・通知)が Gmail / Yahoo / 法人 M365 で届かなくなった時。あるいは DMARC=reject 導入後に自社メールが迷惑判定される時。
実務で見るポイント
- ステップ 1: Site Health Check で対象ドメインの mail カテゴリを確認
- ステップ 2: SPF の終端(~all / -all / +all)を確認し、送信元 IP が include に入っているか
- ステップ 3: DKIM セレクタを確認し、DNS 上の TXT と DKIM ヘッダ s= が一致しているか
- ステップ 4: DMARC ポリシーを確認し、aspf/adkim が strict だと subdomain でも整合要求される
- ステップ 5: 送信元 IP の逆引き(PTR)と HELO が一致しているか
- ステップ 6: メール本文に怪しいリンクや画像のみ / 大量外部画像がないか
よくある失敗
- SPF を 2 行に分けて TXT 登録(1 ドメイン 1 SPF レコードが正解)
- DKIM セレクタをプロバイダ側と DNS で揃え忘れる
- DMARC=reject に急いで上げて自社メールを弾く
- Gmail 側の「迷惑メール報告」が数件蓄積されて IP レピュテーション低下
- PTR 未設定の VPS から直接送信してレピュテーション低下
チェックリスト
- [ ] /tools/mail-deliverability の総合ランクが A
- [ ] SPF が pass(/tools/spf-generator で組み立て直し)
- [ ] DKIM selector が 2 件以上(ローテーション用)
- [ ] DMARC p=quarantine / reject で RUA レポート受信中
- [ ] 送信元 IP の逆引き設定あり
- [ ] VPS 直接送信ではなく、配信サービス(Resend / SES 等)経由
よくある質問
Gmail で毎回迷惑に入る場合は?
受信箱に入れたメールに対して「迷惑メールではない」を繰り返し、SPF/DKIM/DMARC をすべて pass させ、配信サービス(/compare/mail-delivery-services)を挟むと改善します。
DMARC レポート(RUA)は誰に届く?
DMARC レコードの rua= に指定したアドレスです。別ドメインを指定する場合は受信側で TXT `_report._dmarc.yours.com v=DMARC1; rua=mailto:xxx;` が必要になる場合があります。
VPS から直送するのは禁止?
禁止ではありませんが、IP レピュテーションが低く届かないことが多いため、低コストでも配信サービスを経由するのが現実的です。
PTR を設定するには?
クラウド / VPS 側の管理画面から「逆引きレコード(PTR)」を申請します。Amazon SES の場合は Elastic IP 申請後に設定可能。