SPF・DMARCレコード作成
DNSゾーンの短い2行が、どのサーバーがあなたのドメインとしてメールを送ってよいか、そしてそれ以外の誰かが試みたらどうなるかを決めます。いくつかの質問に答えると、作成ツールが入力に合わせて2行とも書き出します。
SPF
Tick everything that puts your domain in a From line: the mailbox service, the newsletter platform, the billing or help desk app, the web server behind your contact form.
上にない送信元の場合:提供されたip4:、ip6:、include:の項目を、スペースで区切って貼り付けてください。
Mailchimp is absent on purpose. It passes DMARC through DKIM, which you switch on in its domain settings, and needs no SPF term.
DMARC
Your instruction to receivers for mail that uses your domain and passes neither check, plus the mailbox where they report what they saw.
Use a mailbox made for this: each large receiver sends one XML file a day. No address, no reports.
DNS changes take from a few minutes to a few hours to spread. After that, confirm both records with the SPF, DKIM and DMARC checkup.
2つのレコードの中身
どちらもTXTレコード、つまり自由なテキストを入れる種類のDNSエントリーです。SPFレコードは左から右へ読まれ、送信サーバーに最初に一致した項目が採用されます:
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.5 ~all
v=spf1- このレコードがSPFであることを示します。必ず先頭に置きます。
include:- プロバイダーが顧客のために最新の状態に保っているサーバーの一覧を取り込みます。そのIPアドレスを知っておく必要はありません。
ip4:,ip6:- 自分で運用するサーバーのための、アドレス1つまたは範囲です。
mx,a- MXレコードやウェブサイトのアドレスがその時点で指しているマシンです。
~allまたは-all- それ以外のすべてのサーバーに対する判定です。ソフトフェイル(疑いつつ受け入れる)か、フェイルです。
DMARCレコードはセミコロンで区切ったタグの一覧で、_dmarcという名前で公開します:
v=DMARC1; p=none; rua=mailto:dmarc@example.com;
p=は認証に失敗したメールに対するポリシーで、rua=は受信側が毎日の集計レポートを送る宛先です。
作成ツールの組み立て方
チェックを入れた項目ごとに1つの項目が追加されます。一覧には、Google WorkspaceやMicrosoft 365からSendGrid、Amazon SES、Shopifyまで、よく使われる15の送信サービスがあり、それぞれのドキュメントで公開されているincludeが入ります。自由入力欄にはip4:、ip6:、include:を入力でき、ホスト名だけを入力するとincludeに変換されます。
作成ツールはinclude、mx、aそれぞれをDNS参照1回と数え、7回から警告を出します。SPFで許される参照は合計10回までで、ほとんどのincludeはさらに別のincludeを含んでいますが、それはブラウザからは見えません。
何もチェックしなければv=spf1 -allになり、DMARCのポリシーはnoneからrejectに引き上げられます。メールをまったく送らないドメインには、この組み合わせが正しい設定です。
入力したドメインは、レコード名の表示と診断ツールへのリンクの準備にだけ使います。ページの外に出ることはありません。
DNSホストにレコードを登録する
ネームサーバーのある場所でDNSゾーンを開きます。レジストラ、Cloudflare、ホスティング会社などです。TXTレコードを2つ追加します。
| レコード | 名前またはホストの欄 | 値 |
|---|---|---|
| SPF | @、空欄、またはドメインそのもの | v=spf1で始まる行 |
| DMARC | _dmarc | v=DMARC1で始まる行 |
ほとんどの管理画面はドメインを自動で付け足すため、_dmarc.example.comと入力すると_dmarc.example.com.example.comができてしまいます。引用符は、管理画面が求めない限り入れないでください。
v=spf1で始まるTXTレコードがすでにあるなら、それを編集してください。2つ目を作ると両方とも無効になります。_dmarcも同じです。
作成ツールがあなたに任せること
DKIMはここでは作れません。送信サービスがそれぞれ独自の鍵ペアを作るからです。そのサービスの設定で「ドメイン認証」を探してください。追加すべきCNAMEまたはTXTレコードが1〜3個示されます。DKIMはDMARCにとって重要です。DMARCは、SPFかDKIMのどちらかがあなた自身のドメインで成功すれば合格になるからです。メールマガジンのプラットフォームは自前のバウンスアドレスで送ることが多く、その場合SPFではカバーできず、DKIMが役目を果たす必要があります。
まずはp=noneから始めます。2〜4週間分のレポートをDMARCレポートリーダーで開けば、すべての送信元がわかります。そのあとquarantineに、さらにrejectに進みます。必要なら~allから-allにも変えます。
作成ツールは現在のDNSを読まないため、すでに何が公開されているかや、includeが実際に何回の参照を消費するかはわかりません。レコードが公開されたら、すべてのincludeをたどって数えるSPF・DKIM・DMARC診断を実行してください。
よくある質問
Google WorkspaceやMicrosoft 365のSPFレコードはどう作りますか?
Google Workspaceだけならv=spf1 include:_spf.google.com ~all。Microsoft 365だけならv=spf1 include:spf.protection.outlook.com ~all。あなたのドメインとして送信するほかのサービスごとにinclude:を1つずつ、すべて同じレコードに追加します。
DMARCのruaアドレスには何を入れればよいですか?
dmarc@yourdomainのように、このためだけに作ったメールボックスか、レポート分析サービスから指定されたアドレスです。大手のプロバイダーからはそれぞれ1日1通、XMLの添付ファイルが届くと考えてください。別のドメインのアドレスは、そのドメインがあなたのレポートを受け入れるレコードを公開している場合にだけ機能します。
新しいSPFやDMARCのレコードが有効になるまでどのくらいかかりますか?
新しいレコードはたいてい数分で反映されます。変更したレコードは、以前のTTLの間はキャッシュから古いものが返され続けることがあります。多くは1時間、ときには1日です。DNS浸透チェックで経過を追えます。
DKIMがあればSPFは不要ですか?
DMARCはどちらか一方で満たせますが、GmailとYahooは大量送信者に両方を求めています。SPFレコードがないと評価を下げる受信側もあります。両方を公開してください。
Mailchimpが一覧にないのはなぜですか?
Mailchimpは自前の返信先アドレスで送信するため、あなたのドメインのSPFの項目がそのメールで評価されることはありません。ドメイン認証ページに表示されるCNAMEレコードを追加すれば、DKIMによってDMARCに合格します。
サブドメインごとに別のSPFレコードを持てますか?
はい。SPFは返信先アドレスのドメインそのもので参照されるため、news.example.comには独自のレコードと独自の10回の参照枠があります。大量に送るサービスをサブドメインに移すのは、上限を下回るための定番の方法です。