SendGridからメール送信する場合のSPFとDKIMの認証の仕組み – 後編

SendGridからメール送信する場合のSPFとDKIMの認証の仕組み - 後編

SendGridサポートチームの有田です。
前編の記事では、SendGridからメール送信する場合のSPFとDKIMの認証フローについて解説しました。今回は、Domain Authentication設定のサブドメインとAdvanced Settings(高度な設定)について解説します。サポートにもよくお問い合わせをいただく内容ですので、ぜひご覧ください。

参考:SPF, DKIMの特徴と違い
参考:SendGridからメール送信する場合のSPFとDKIMの認証の仕組み – 前編

SPF用のレコードにサブドメインを付ける理由

Domain Authentication設定に関連して、以下のような質問をいただくことがあります。

  • 既存のメールシステムでも同じドメインからメールを送信している。Domain Authenticationを設定すると、既存のメールシステムへの影響はあるか?
  • 既存のメールシステム用にSPFレコードを登録しているが、ここにSendGridの送信元IPアドレスを追加する必要があるのか?

回答としては、Domain Authenticationを設定しても既存のメールシステムからのメール送信には影響せず、また、既存のSPFコードを修正する必要はありません。

例えば ヘッダFromを kke.co.jp とすると、送信方法によって以下のような差異があります。

送信方法 認証ドメインの例 SPF/DKIMレコードの保存先 レコードの登録方法
既存のメールシステム kke.co.jp (※エンベロープFromが kke.co.jp の場合)
kke.co.jp を管理するDNSサーバ
(※エンベロープFromが kke.co.jp の場合)
kke.co.jp のDNSサーバにPF/DKIM用のレコードを直接登録する
SendGrid em.kke.co.jp(*) SendGridのDNSサーバ kke.co.jp のDNSサーバにCNAMEレコードを登録し、SendGridのDNSサーバに登録されたSPF/DKIM用のレコードを参照する

(*)のサブドメイン”em”は、Domain Authenticationで設定したサブドメインです。このサブドメインを付けることで、既存のメールシステムとSendGridからのメール送信で、参照するDNSレコードを切り分けることができます。既存のメールシステムからのメール送信でSendGridのDNSサーバを参照したり、逆に、SendGridからのメール送信で kke.co.jp ドメインのSPF/DKIMレコードを参照したりすることはないため、互いに影響を与えることはありません。
なお、この仕組み上、サブドメイン”em”には別のサービスで使用していない文字列を指定する必要があり、また、サブドメインを省略することはできません。

Advanced Settings(高度な設定)

ご利用の環境によっては、Domain AuthenticationのAdvanced Settingsの設定が必要なケースもあります。設定項目の概要は以下の通りです。

設定項目 概要 利用シーンの例
Use automated security SPF/DKIM用のレコードをCNAMEで参照するのではなく、自身のDNSサーバで直接管理する 利用するレジストラで、CNAMEレコードにアンダースコアが使えない場合
Use custom return path SPFで認証するエンベロープFromのサブドメインに任意の文字列を指定する 他サービスと異なるサブドメインを明示的に指定したい場合
Use a custom DKIM selector DKIMセレクタ(公開鍵を参照するためのラベル)に任意の文字列を指定する 複数のSendGridアカウントで同一ドメインのDomain Authentication設定を作成する場合
Assign to a subuser(Proプラン以上) 作成したDomain Authentication設定をサブユーザに割り当てる 親アカウントで作成した設定を複数のサブユーザに適用する場合

Use automated securityをOFFにすると、下図のように認証フローが変わります。

Use automated securityがON 図1) Use automated securityがONの場合

Use automated securityがOFF 図2) Use automated securityがOFFの場合

図2) Use automated securityがOFFの場合 の認証フローでは 、SendGridはSPF/DKIM用のレコードを管理せず、「差出人のドメインを管理するDNSサーバ」が認証用のレコードを直接返します。これらのDNSレコードをSendGridが自動的に更新することはないので、固定IPアドレスを追加した際などは、ユーザが手動で更新する必要があります。

まとめ

前後編を通してSPF/DKIMの認証フローについて解説してきました。少しとっつきにくい機能ではありますが、到達率向上のための重要な機能ですので、少しでも理解の手助けとなれば幸いです。