Blog

送信ドメイン認証(SPF、DKIM、DMARC)とは

2024年1月19日

近年なりすましメールの被害が拡大していることからGoogleは2024年2月から、送信者に対してメールを送信する際の条件(認証)を強化する発表がなされました。

Gmailに送信する全ての送信者は、以下の対策が必要になってきます。

上記の対策をしていない送信者はGmailにメールが届かなくなってしまいます。
※迷惑メールに振り分けられるのではなく届かなくなってしまう。

細かな事を言うと1日の受信数が5000通以下であればSPF又はDKIMの対応が必須、5000通以上であればSPFとDKIMの対応及びDMARCの設定が必須になります。

送信ドメイン認証(SPF、DKIM、DMARC)のそれぞれについては以下に解説します。

この記事の内容

SPF(エスピーエフ)

送信元メールサーバのIPアドレスで判別する仕組みです。
SPF(Sender Policy Framework)は、IPアドレスを利用して受信したメールの送信元が詐称されていないかどうかを確認します。具体的には、メール送信時に利用するサーバのIPアドレスなどを、送信者ドメインのDNSに「SPFレコード」として事前に登録します。受信側はメール受信時に、送信元サーバのIPアドレスを送信者ドメインのSPFレコードと照合し、なりすましかどうかを判断する仕組みです。

DKIM(ディーキム)

電子署名を付与してなりすましを検知仕組みです。
DKIM(DomainKeys Identified Mail)は、電子署名を利用してメール送信元が詐称されていないかどうかを確認します。送信側が送信するメールに電子署名を付与し、 受信側はそれをメール受信時に検証することで、なりすましやメールの改ざんを検知する仕組みです。

DMARC(ディーマーク)

認証失敗時の対応策を定義する仕組みです。
SPF、DKIMの認証結果を活用する仕組みとして注目されている技術がDMARC(Domain-based Message Authentication、Reporting and Conformance)です。これはSPFやDKIMと組み合わせて使う形になります(SPFやDKIMの認証結果を利用してなりすましかどうかを判別します)。更に送信側は、受信側の認証失敗時の推奨アクションをDNSに「DMARCポリシー」として記載し、受信側は認証失敗時にこのDMARCポリシーを参照して、受信メールをどう扱うか判断する仕組みです。

図解で見るとわかりやすい

送信ドメイン認証(SPF、DKIM、DMARC)はなかなかどういう仕組みか文章ではわかりにくいんですが、図解で見るとわかりやすかったりします。私はカゴヤさんの解説ページの図解がわかりやすかったです。

お問い合わせフォームやASPからの自動送信メールでの対策

では自社サイトのお問い合わせフォームやASPのサービスやECサイトなどからの送信メールなどの対策はどうすればよいかという点をまとめておきます。

ASPの送信元をASPのドメインではないメールアドレスにしている場合の対策

ASPのドメインのメールアドレスを使われている場合はホスト側が認証をしていれば問題はないのですが、別のドメインのメールアドレスを設定されている場合は、送信ドメイン認証(SPF、DKIM、DMARC)を実施し、認証チェックを行う形がとられます。

WordPressでフォームを作っている場合の対策

WordPressで作ったサイトでプラグインのフォームからの送信がGmailに届かないということもよく聞かれます。WordPressの送信の仕組みはPHPのsendmailなので、送信ドメイン認証が必要です。Gmailユーザーが5000通以内だと送信ドメイン認証はSPFだけで良いので、メールアドレスのドメインのDNSサーバにSPFレコード(ドメインAの送信元IPアドレスは*******)の追加するだけで良いかもしれません。ただしDKIM、DMARCまで対応しないといけない場合は「WP Mail SMTP」など外部のプラグインを利用してDKIM、DMARCに対応する必要があります。