読んで欲しい人
- Amazon SES などでメール配信を利用 or 検討している人
- SPF, DKIM, DMARC を PASS して安心している人(先週の僕)
- キャリアメールで大量のバウンスが発生している人(今週の僕)
実施状況
主要プロバイダにおける送信ドメイン認証実施状況です(2021年12月時点)。
SPF | DKIM | DMARC | Sender ID | MXレコードチェック ※1 | |
---|---|---|---|---|---|
Gmail (@gmail.com) | ○ | ○ | ○ | ||
Yahoo! (@yahoo.co.jp) | ○ | ○ | ○ | ||
au (@ezweb.ne.jp) | ○ | ○ ※2 | |||
softbank (@i.softbank.jp) | ○ | ||||
docomo (@docomo.ne.jp) | ○ ※3 | ○ | ○ | ○ | ○ ※2 |
Gmail や Yahoo! といったフリーメールは、SPF
、DKIM
、DMARC
が主要です。
キャリアメールは、SPF
に加えSender ID
や MXレコードチェック
が実施されています。
※1 ヘッダFromのドメインに対してMXレコードの存在を確認することを指します
※2 迷惑メールフィルターの設定によって実施状況は変わります
※3 Sender ID が実施できない場合、SPF が実施されます
2022/08/24 追記
docomo が新たに DMARC および DKIM に対応しました
https://www.itmedia.co.jp/news/articles/2208/23/news153.html
詳細
Gmail
ドキュメントは見つかりませんでしたが、Gmail のソースを確認するとSPF
、DKIM
、DMARC
の認証結果が表示されます。このため、認証の仕組みとしてこれらを用意しており、いずれかで失敗するとバウンスやフィルタリングの対象となると考えられます。
Yahoo!
迷惑メール相談センターのHPより確認できます。
SPF
、DKIM
、DMARC
の認証を実施しているようです。
公式のアナウンスもありました。
送信ドメイン認証技術「DMARC(Domain-based Message Authentication, Reporting & Conformance)」を3月より順次導入します。(中略)「Yahoo!メール」では送信元のドメインを認証するSPF(※1)を2006年から、DKIM(※2)を2012年より順次導入しています。
https://security.yahoo.co.jp/news/0014.html
キャリアメール
こちらも迷惑メール相談センターのHPより確認できます。
携帯3社ではSPF
のみ必要であるように見えます。が、これが落とし穴です。
迷惑メールフィルターの設定状況によってはSPF
に対応していても迷惑メール判定されてしまいます。
とりわけ、au と docomo には注意が必要です。
au
迷惑メールフィルターの設定に依存して、SPF
に加え、Sender ID
が必要になる場合があります。両者の違いはこちらをご覧ください。
お客さまが迷惑メールフィルターの「なりすまし規制 (高)」をご利用になる場合、エンベロープFromに加えてPRAに記述されているドメインを使用したSPFレコードの確認を行い、SPFレコードが無い場合はメールを拒否します。
https://www.au.com/mobile/service/attention/spf-record/
なお、PRAに記述されているドメインとは、ヘッダ From のドメインのことになります。
docomo
こちらもSPF
に加えてSender ID
が必要になります。ヘッダ From が存在しないのはレアケースな気もしますが。
SPF(TXT)レコードの確認には、メールヘッダのFROMフィールドを使用します。なお、メールヘッダのFROMフィールドが存在しない場合はエンベロープFROMを使用します。
https://www.nttdocomo.co.jp/service/imode_mail/notice/sender_id/
docomo の場合、Sender ID
だけでは不十分です。
迷惑メールフィルタの設定によって、ヘッダ From のドメインに対して MX レコードの有無を確認することがあるためです。
「存在するドメインからのみ受信」を選択した場合は、DNS(Domain Name System)サーバを参照し、送信元アドレスのドメインが存在することを確認することにより、送信元アドレスのドメインの存在が確認できた場合にのみ受信し、確認できなかった場合には受信しません。
https://www.nttdocomo.co.jp/info/news_release/page/070911_00.html#notice0201
注意すべきは、エンベロープ From ではなくヘッダ From のドメイン有無を確認している点です。
送信オンリーで Amazon SES を利用していると、ヘッダ From のドメインに MX レコードを設定していないケースがあります。認証を PASS するために、MX レコードを設定するか、ヘッダ From のドメインをエンベロープ From のドメインと一致させる(非推奨)など対応が必要となります。
まとめ
キャリアメールにも配信するのであれば、SPF
, DKIM
, DMARC
, Sender ID
, MXレコードチェック
の全てに対応するのが無難です。ガチガチなメールフィルターが設定されていなければある程度届くようになると思います。