AWS SES SPF 設定と検証手順|Web 担当者向け
目次
この記事でわかること
- 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 しやすくなります。
設定手順
- SES Console → Verified identities → 対象ドメイン → Custom MAIL FROM domain
- サブドメインを指定(例:
mail.example.co.jp) - SES が提示する 2 つのレコードを DNS に登録:
mail.example.co.jpMX →feedback-smtp.<region>.amazonses.commail.example.co.jpTXT →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 検証
検証 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 秒で確認できます。設定にお困りの場合はお問い合わせからご相談ください。