AWS SESSPFメール認証Web 担当者

AWS SES SPF 設定と検証手順|Web 担当者向け

ドメイン番人4 分で読めます
目次

AWS SES SPF の構成

この記事でわかること

  • AWS SES から送信する際の SPF レコード書き方
  • include 値の正解と MAIL FROM ドメイン設定の意味
  • 設定後の dig コマンドによる検証手順
  • DKIM / DMARC との整合性チェック

AWS SES の SPF 設定が必要な理由

AWS SES(Simple Email Service)から「自社ドメイン宛のメール」を送信する場合、自社ドメインの SPF レコードに「Amazon SES の送信サーバーを許可する」記述を追加する必要があります。

これをしないと、受信側(Gmail / Microsoft 365 等)が「example.co.jp 名義のメールが Amazon の SES サーバーから来ているが、SPF で許可されていない」と判定し、SPF fail → 迷惑メール扱い or 拒否されます。

SPF の基本は SPF レコード設定方法・書き方 を参照。

include 値の正解

AWS SES のリージョン別 include 値は次の通りです。

v=spf1 include:amazonses.com -all

amazonses.com は全リージョン共通で使えます。リージョン別に分ける必要はありません(公式ドキュメント参照)。

既に SPF レコードがある場合は include を追記します。

# 変更前
v=spf1 include:_spf.google.com -all

# 変更後(Google Workspace + AWS SES)
v=spf1 include:_spf.google.com include:amazonses.com -all

SPF 10 ルックアップ上限に注意

SPF は 1 つのレコード内で DNS lookup 回数が 10 回まで に制限されています。include を増やすと簡単に上限に達します。

# include 3 つで合計 8 ルックアップ消費の可能性
v=spf1 include:_spf.google.com include:amazonses.com include:_spf.salesforce.com -all

上限を超えると permerror で SPF fail になります。詳細は SPF include 入れ子と 10 ルックアップ計上 を参照。

10 回近づいたら SPF flattening を検討します。

MAIL FROM ドメイン設定

AWS SES では「Custom MAIL FROM Domain」を設定すると、SPF アライメントが取れて DMARC pass しやすくなります。

設定手順

  1. SES Console → Verified identities → 対象ドメイン → Custom MAIL FROM domain
  2. サブドメインを指定(例: mail.example.co.jp
  3. SES が提示する 2 つのレコードを DNS に登録:
    • mail.example.co.jp MX → feedback-smtp.<region>.amazonses.com
    • mail.example.co.jp TXT → v=spf1 include:amazonses.com ~all

なぜ MAIL FROM 設定が重要か

設定しない場合、SES のデフォルト MAIL FROM が amazonses.com 系になり、From ヘッダ(example.co.jp)と一致しない → SPF パスしても DMARC alignment が成立しない → DMARC fail という事象が起きます。

DMARC alignment の詳細は DMARC アライメント を参照。

設定後の dig 検証

SPF 設定検証フロー

検証 1: SPF レコードが引けるか

dig example.co.jp txt | grep spf1

期待値:

example.co.jp. 3600 IN TXT "v=spf1 include:amazonses.com -all"

検証 2: MAIL FROM ドメインの SPF も確認

dig mail.example.co.jp txt | grep spf1
dig mail.example.co.jp mx

検証 3: 実送信して Authentication-Results 確認

テストメールを Gmail に送り、受信メールの Authentication-Results ヘッダで spf=pass を確認します。

Authentication-Results: mx.google.com;
  spf=pass (google.com: domain of bounces@mail.example.co.jp ...) ...
  dkim=pass ...
  dmarc=pass ...

DKIM の確認手順は DKIM 確認 コマンド、DMARC の確認は DMARC 設定方法 を参照。

DKIM との組み合わせ

AWS SES では SPF だけでなく DKIM 署名も必須レベルです。Easy DKIM(SES が鍵管理)か BYODKIM(自社で鍵管理)を選んで設定します。

  • Easy DKIM: SES が CNAME 3 本を提示、DNS に貼るだけ
  • BYODKIM: 自社で鍵生成、SES に登録、TXT で公開鍵を DNS に登録(BYODKIM とは

両方とも設定すれば、SPF + DKIM + DMARC alignment が揃って DMARC pass を実現できます。

まとめ

  • AWS SES の SPF include は amazonses.com 全リージョン共通
  • 既存 SPF があれば include 追記、ただし 10 ルックアップ上限に注意
  • Custom MAIL FROM Domain を設定して DMARC alignment を成立させる
  • 検証は dig + 実送信の Authentication-Results 確認
  • DKIM(Easy / BYODKIM)と組み合わせて DMARC pass を実現

まずは現状を把握しましょう

自社ドメインのメール認証(SPF / DKIM / DMARC)の状態は、ドメイン番人の無料診断で 30 秒で確認できます。設定にお困りの場合はお問い合わせからご相談ください。

次の一歩は無料診断から。