【マーケティング】メールのバウンスバックを防ぐ方法:SPF・DKIM・DMARCの正しい設定ガイド
はじめに:必要なもの
- ドメインのDNSエディタ(メールアドレスを登録しているGoDaddy管理画面など)
- サードパーティ製メール管理アカウント(メール一斉配信サービス[Mailchimp、ConstantContactなど]、利用中の追加メールサーバーなど)
この記事を読んでいるのは、おそらく直前に受け取ったエラーの解決策を探しているからではないでしょうか。そのエラーには、DMARCレコードに関する記述や「メールが認証されませんでした」といった内容が含まれているはずです。多くの場合、@gmail.com や @yahoo.com といった無料の大手メールプロバイダ宛てに送信した際に発生します。これらのプロバイダは、自社運営のメールサーバーよりも厳しいデフォルト基準を設けているためです。
私も同じ状況に陥り、何が必要なのかだけでなく、それをどうやって正しく実現すればよいのかを突き止めるまでにかなり苦労しました。
SPF・DMARC・DKIM設定前後の統計データ
以下の画像が示すとおり、これらの設定を実装することで次のような成果が得られました。
- 実装前のバウンス率は70%。つまり21,441通ものメールが購読者の受信箱に届いていませんでした。
- 実装後のバウンス率はわずか5.6%に低下し、バウンスバックは1,855件まで減少しました。
- バウンスバックの原因がすべてセキュリティというわけではありません。メールが削除されたケースや、購読者の入力ミス(mail.com を gmail.com と打ち間違えるのが典型)もあります。

実装の重要性は十分伝えたので、早速始めましょう!
メール認証において100%のコンプライアンスを満たすには、次の3つを設定する必要があります。
- SPF(Sender Policy Framework):メールの偽造、いわゆる「スプーフィング」を防止するためのフレームワーク。スプーフィングとは、他人があなたのメールアドレスから送られたかのように装う行為です。
- DKIM(DomainKeys Identified Mail):第三者のサーバーがあなたの名前でメールを送る際に認証を受け、本当に本人からの送信であることを保証する仕組みです。例えば、MailchimpやConstantContactを使ってニュースレターを配信し、差出人を john@doecompany.com とした場合、実際には配信サービスのサーバーから送信されます。しかしこの認証により、なりすましではなく本人からの送信だと証明されます。企業にとって最も重要なのがこの設定です。正しく設定しないと、バウンスバック率が高騰してしまいます!
- DMARC(Domain-based Message Authentication, Reporting, and Conformance):SPFと連携して動作するアンチスプーフィング機構です。どちらか一方だけでは効果がなく、適切な保護には両方の設定が不可欠です。
DNSエディタでの操作(GoDaddyの例)
まずGoDaddyにログインし、管理ダッシュボードへ移動してください。


Manage Zonesをクリックした後の画面で、DNSレコードを追加したいドメインを選択します。

レコード一覧の右下にある「Add」ボタンをクリックするとダイアログが表示され、ここでSPF・DMARC・DKIMの各エントリを個別に入力していきます。

他のゾーンエディタの手順については、ご利用のドメインプロバイダのナレッジベース/サポートセンターをご確認ください。
SPFの設定方法
SPFは3つの中で最も簡単に設定できます。必要なのは次の2点だけです。
- DNSエディタ(GoDaddy管理ポータルなど)
- メールサーバーのIPアドレス
DNSエディタ(cPanelでは「DNSゾーンエディタ」と呼ばれます)にアクセスしたら、新しいTXTレコードを作成します。TXTレコードには Host、TXT Value/Value、TTL(Time-To-Live)の3つのフィールドがあります。入力内容は以下のとおりです(細部は異なる場合があります。GoDaddy環境を前提とした説明です)。
Host: @
TXT Value: v=spf1 +a +mx +ip4:<メールサーバーのIP>~all
TTL: 1時間

各設定値の意味
@:GoDaddy内で作業中のドメインを指す指定子です。「doecompany.com」内で作業しているなら「@」を「doecompany.com」に置き換えても同じ結果になりますが、GoDaddyでは「@」を使うのがベストプラクティスです。
<メールサーバーのIP>:メールの送信元サーバーのIPアドレスです。ウェブサイトをホストしているIPと同一であるとは限りません。
+a:Aレコードを含める
+mx:MXレコード(メールサーバーレコード)を含める
+ip4:送信を許可するIPv4サーバーを指定
~all:上記で宣言した以外の送信元からのメールは失敗(fail)扱いになる
TTL=1時間(3600秒):Time-To-Live、つまり情報が更新される周期です。万が一メールサーバーを変更することになっても、認証されない期間が最大1時間で済むことに感謝することになります。
DKIMの設定方法
これは3つの中で最も手間がかかり、かつ最も重要な設定です。第三者があなたのメールアドレス(例:john@doecompany.com)の代わりに送信できるよう、正式に認証を行います。
私自身は現在2つのDKIMを運用しています。
- 実際のメールサーバー用(ウェブサイトとは別のサーバーで運用。企業環境ではこちらが一般的)
- メールニュースレター配信サービス用(今回の例ではConstantContact。Mailchimpなどの場合もある)
どちらの場合も、やるべきことは同じです。メールサーバーまたは第三者配信サービスのサポート窓口に連絡し、自分のアカウント向けにDKIMをインストールしてもらう必要があります。
この作業は自分の手では行えず、通常1〜2日ほどかかります。具体的には、相手側のサーバーに1024ビット以上のRSA鍵(2048ビットが望ましい)が登録・インストールされます。
設定完了後、公開鍵(Public Key)が送られてくるので、それを次のステップでDKIMレコードの設定に使います。
SPF・DMARCと同様にDNSエディタへアクセスし、新しいTXTレコードを作成します。DKIMレコードごとに個別のエントリを作成することを忘れないでください。
Host: <第三者から提供された値>._domainkey
TXT Value: v=DKIM1; k=rsa; p=<公開鍵>
TTL: 1時間
「=」記号の後に余分なスペースを入れないよう注意してください。

各設定値の意味
Host:名前または番号で構成され、第三者ごとに完全に固有の値です。代理送信されるメールのヘッダーにはこの値が含まれ、受信側サーバーはあなたのドメイン内のこのレコードを参照します。
平たく言えば、受信側サーバーは doecompany のDNSレコードを見に行き、第三者の主張が正しいかを確認します。公開鍵が相手サーバー上の鍵と正しく照合できた場合にのみ、メールが送信されます。
v=DKIM1:DKIMのバージョンを指定し、確認すべき項目を明確にします。
k=rsa:鍵タイプ(k)にはRSAが最も一般的です。第三者が別方式を採用することもありますが、現時点では2048ビットRSAが最も安全な選択肢です。1024ビットでも十分有効です。
p=<公開鍵>:「<公開鍵>」の部分には、第三者から提供された1024ビットまたは2048ビットの一見ランダムな文字列・数値が入ります。
TTL=1時間(3600秒):Time-To-Live。情報が更新される周期です。
DMARCの設定方法
重要な注意点:DMARCが機能するためには、必ず先にSPFとDKIMを設定しておく必要があります。DMARCはSPFとDKIMの設定内容、および送信者がそれらに適合しているか(スプーファーでないか)を検証する役割を持つためです。SPFとDKIMが未設定のままではDMARCは機能せず、メールが拒否される結果になります。
SPFと同様に、DNSエディタで新しいTXTレコードを作成します。入力内容は以下のとおりです。
Host: _dmarc
TXT Value: v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400
TTL: 1時間

各設定値の意味
Hostを「_dmarc」とする理由:GoDaddyは自動的に「.johndoe.com」のようなサブドメインを付加するためです。メール送信時にDMARCは常にこのセレクタでドメインに対してチェックされます。「_dmarc」と正しく設定されていないと、メールサーバーはDMARCエントリを発見できず、最初から存在しないものと判断してメールを自動的に失敗扱いにします。
v=DMARC1:DMARCのバージョンを宣言し、認証の正当性を高めます。
p=reject:DMARCレコードと一致しないメールを受信側サーバーが拒否します。
sp=none:サブドメインとメインドメインの設定整合性をチェックしません(任意)。
adkim=r:DKIM識別子の判定を厳格(s)にするか緩和(r)にするか。緩和がデフォルトです。
aspf=r:SPF識別子の判定を厳格(s)にするか緩和(r)にするか。緩和がデフォルトです。
pct=100:全メールの100%にDMARCポリシーを適用します。指定できるのは1〜100の整数のみで、小さい値はテスト用途限定。セキュリティのためには100を推奨します。
fo=0:SPF・DKIMの認証に失敗した場合にDMARCエラーレポートを生成します。0がデフォルト。その他は1(どちらか一方が失敗)、d(署名評価の失敗)、s(SPF評価の失敗)です。
rf=afrf:障害レポートの書式。執筆時点でサポートされている唯一の値はafrfです。
ri=86400:送信者へのレポート送信間隔(秒)。86400秒=24時間がデフォルトです。GmailやYahoo!など主要メールボックスプロバイダの多くは、1日に複数回レポートを送信します。
TTL=1時間(3600秒):Time-To-Live。情報が更新される周期です。
まとめ
以上が、メールを適切に認証するための完全な手順です。この記事が、メール認証の謎や複雑さを解きほぐす助けになれば幸いです。もうメールデーモンからの厄介なバウンスバック通知に悩まされることはありません!
著者:
Andreas Lopez ― https://www.linkedin.com/in/andreaslopez/
編集者:
Stevan Pupavac ― https://www.linkedin.com/in/stevan-pupavac/
Frederick Alcantara ― https://www.linkedin.com/in/frederick-alcantara/
参考資料:
- DMARCanalyzer.com提供のGoDaddyスクリーンショット:https://www.dmarcanalyzer.com/dmarc/dmarc-record-setup-guides/dmarc-setup-guide-godaddy/
-
ThunderbirdでMicrosoft Exchangeアカウントを設定する方法|ExQuillaアドオン活用ガイド
Microsoft Exchange Serverは、Microsoftが開発したメールおよびスケジューリングサーバーです。Windows Server製品ライン上でのみ動作するものの、ビジネスの世界を中心に、最も普及しているメールサーバーの一つとして広く利用されています。しかしその人気とは裏腹に、長らくMozilla Thunderbirdのようなサードパーティ製メールクライアントからはアクセスできないのが常識でした。少なくとも、ごく最近まではそうでした。ところが現在では、R Kent James氏が開発したThunderbird用アドオン「ExQuilla」のおかげで、Exchange W
-
Windows 11でWindows Updateを停止する3つの方法【一時停止からレジストリ設定まで】
Microsoftは、セキュリティパッチ、新機能、不具合の修正などを含むアップデートを定期的にWindows OSへ提供しています。これらのアップデートは強く推奨されており、継続的に適用することが望ましいとされています。しかし、PCが従量制課金のネットワーク接続を使用している場合など、一時的にWindows Updateを無効化し、ダウンロードやインストールを止めたい場面もあるでしょう。この記事では、Windows Updateを停止するためのいくつかの方法を詳しく解説します。 Windows Updateを停止するさまざまな方法 方法1:Windows Updateを一時停止する 最初の方法