MarketoのSPF設定についての解説

MarketoのSPF設定についての解説

こんにちは、藤井です。
今回はMarketoの初期設定で行うSPFの解説を行います。

MarketoのSPF設定を超ざっくり説明すると、「Marketoから送信されるメールはスパムではありませんよ!」「ドメインのオーナーが認定した正規のメールですよ!」というのを宣言するためのものです。もう少し詳しい説明は後述します。(ざっくりすぎるだろとツッコミができる方は本記事を見る必要はないかもしれません)

SPFの設定は、基本的にドメインを管理している人が担当することになりますが、問われる専門性に対して、なかなかネットワーク管理を専業で行う部署や人員を確保できる企業は少ないと思います。
そんな中、Marketo Docsに記載されている以下の参考例では、設定の追加・変更を行う際に不安を覚える方がいるかもしれません(自分もその一人でした)

[domain] IN TXT v=spf1 mx ip4:[corpIP] include:mktomail.com ~all include:mktomail.com

参考:
https://experienceleague.adobe.com/docs/marketo/using/product-docs/email-marketing/deliverability/set-up-spf-and-dkim-for-your-email-deliverability.html?lang=ja

本解説が、そのような方に対して背中を押せる記事となれば幸いです。

SPFの設定方法について

対象とするドメインのネームサーバーのゾーンファイルにSPFレコードを登録します。 設定の基となるSPFレコードはMarketo Docsに2パターン記載されております。

パターン1 ドメインにSPFレコードがない場合

[domain] IN TXT v=spf1 mx ip4:[corpIP] include:mktomail.com ~all include:mktomail.com

と記載されておりますが、一つひとつ切り分けて解説いたします。

[domain] メール送信に使用しているドメインを指定します。
IN 「IN」クラス以外を利用することはありません。
TXT SPFの設定にはTXTレコードを使用します。
v=spf1 SPFのバージョン指定です。記述は必須です。
(2022年5月現在「v=spf1」以外の指定はできません)
mx mxレコードで指定されているサーバーが送信にも使用されている場合は記述します。
(登録するゾーンファイルにmxレコードの登録がない場合は必要ありません)
ip4:[corpIP] メール送信するために利用しているサーバーをIPで指定します。
(管理状況にもよりますが、FQDNでの設定をお勧めします)
include:mktomail.com Marketoの送信メールサーバーを指定します。
(外部の送信メールサービスを使う場合はincludeで指定します)
~all SPFレコードの最後に記述します。
(こちら以外にも指定の仕方がありますが割愛します)

切り分けるとMarketo Docsの記載されている参考例は、Marketoのみの設定ではなく、複数送信メールサーバーを使用することを想定して記載されていることがわかります。

SPFレコードは、そのドメイン名を送信元として使用する送信メールサーバーの情報を記述します。上記のように複数設定する場合は、使用しているサーバー構成を整理した上で設定する必要があります。

パターン2 ドメインにSPFレコードがある場合

include:mktomail.com

を追記すればよいと記載されておりますが、既存のSPFレコードに追記を行う場合、以下の制約について注意する必要があります。

  • SPFレコードを複数行記載しない
  • SPFレコードの長さは255文字以内
  • includeが使用できる回数は10回まで

※追記に失敗する(SPFレコードの記述に問題がある)と、元々行えていたSPF認証ができなくなってしまいますので、細心の注意を払って設定を行ってください。

SPF設定の具体例

上記でMarketo Docs 記載の設定例を分解して説明しましたが、より具体的な設定例があるとよりイメージがつきやすいかもしれません。

設定例1 複数のサーバーからメールの送信を行う場合

例えば、sample.comという架空のサービスを使って自社ドメイン名でメールを送信するツール/サービス(メールフォーム等)があり、社員がPCから送るメールはExchange Serverを利用しているとします。そこに、Marketoからもメールを送信する場合は以下のような設定になります。

sample.com IN TXT v=spf1 a:sample.com include:spf.protection.outlook.com include:mktomail.com ~all

設定例2 メールの送信はMarketoのみの場合

MarketoのみSPFの設定を行えば良いため、以下のようなもっともシンプルな設定になります。

sample.com IN TXT v=spf1 include:mktomail.com ~all

なぜSPFの設定が必要なのか

SPFとはメールの送信元が正しいかどうかを認証する仕組みです。(どのように認証を実施しているのかは割愛します)

メール送信に使用される通信プロトコルの「SMTP」は、差出人メールアドレスを自由に設定することが可能です。差出人を自由に設定できることを悪用したメールのことを「なりすましメール」、世間一般では「迷惑メール」の一つと認識されております。

なりすましメールとみなされると、受信メールサーバー側の設定(SpamAssassin等)でメールが受信拒否される場合があります。つまりメールの到達率を上げたい場合はSPFを設定する必要があります。

SPFの設定のみで完全に「なりすましメール」を防ぐことが可能か

答えはNOです。

送信メールには「Return-Path(エンベロープFrom)」と「差出人アドレス(ヘッダーFrom)」2つのメールアドレスがあり、SPFの確認で使用されるアドレスは「Return-Path(エンベロープFrom)」です。Return-Pathが偽装された場合、SPFの確認をすり抜けられてしまう可能性があります。そのためSPF単体で使用されるケースは少ないかと思われます。

DKIMDMARCといった仕組みを組み合わせて利用することで、なりすましメールとみなされる可能性を生じにくいように対応することが可能です。

本解説を見てもイマイチ理解できなかったり、社内で相談できる人がいないから不安、より複雑な構造になっているからもうちょっとサポートが欲しい……という場合はルシダスへご相談ください。

執筆者プロフィール

藤井雄輝
藤井雄輝
北海道旭川市生まれ。Web制作会社とシステム開発会社を経験。リーマンショックの影響からか、就職が決まらず大学を卒業。ハローワークで担当していただいた方から…[続きを読む]

執筆者に質問しちゃう!

「もうちょっと突っ込んだこと知りたい……。」とお思いのあなた!このブログの執筆者に、直接質問をしちゃいましょう!

メルマガ登録

マーケターやマーケティングにご興味のある方へ。些細なことから「おっ」と思う注目の事柄まで、読んでお得な情報をメールで配信中!気になる方は今すぐご登録を!