SMTP2GOのSPF・DKIM・DMARC設定。
SMTP2GOは、他の最新のトランザクションメールサービスと同じ方法でドメインを認証します。共有のSPF行を貼り付けるのではなく、Verified Sendersのフローを使います。Sender Domainを追加すると、SMTP2GOは少数のCNAMEレコードを生成します。Return-Path(VERP)用のサブドメイン、DKIM鍵、任意のリンクトラッキング用ホストで、これらがSPFアライメントとDKIM署名をSMTP2GOに委任します。CNAMEの確認が完了すると、SMTP2GO経由で自社ドメインとして送信できるようになります。SPFとDKIMのどちらもアライメントが一致し、「via smtp2go.com」の表示は出ず、DMARCにも成功します。鍵はSMTP2GO側にあるため、ローテーションの際にDNSを編集し直す必要もありません。
SMTP2GOを認証すべき理由
SMTP2GOでは、Verified Senderの登録はもはや任意ではありません。2025年以降、ドメイン(または少なくとも1つのアドレス)の確認が済むまで送信がブロックされます。到達率を考えるなら、必要なのはSender Domainの完全な設定です。背景にあるのはメールプロバイダーのルールです。2024年2月以降、GmailとYahooは、すべての送信者にSPFまたはDKIMに成功することを、すべての大量送信者(1日あたり約5,000通以上)にはさらにアライメントを伴うDMARCポリシーの公開を義務付けています。Microsoftも2025年に、OutlookとHotmail宛ての大量送信者に同じ基本要件の適用を始めました。Sender Domainの確認が済むまで、SMTP2GOは組織ドメインとアライメントが一致しない送信にフォールバックするしかありません。受信者に「via」の表示が見える場合があり、SPFではDMARCに成功できず、積み上げたレピュテーションは自社ドメインではなくSMTP2GOの共有領域に集約されます。CNAMEを追加すれば、これらをすべて一度に解決できます。SPFは自社のReturn-Path用サブドメインを介してアライメントが一致し、DKIMは自社ドメインで署名され、DMARCに成功し、送信レピュテーションは自社に蓄積されます。
SMTP2GOにおけるSPFの実情
SMTP2GOはCNAMEで認証するサービスなので、推奨構成ではルートドメインのSPFレコードに追加すべきinclude:spf.smtp2go.comはありません。巧みなのはSPFの扱い方です。Sender Domainを追加すると、SMTP2GOはReturn-Path用のCNAMEを提示します。emXXXXXX.yourdomain.comのようなホスト(XXXXXXはアカウントの数値ID)で、return.smtp2go.netを指します。このサブドメインが、SMTP2GOのVERP(Variable Envelope Return Path)技術によってエンベロープ送信者、つまりReturn-Pathになります。メールプロバイダーがSPFをチェックすると、return.smtp2go.netのSPFレコード(SMTP2GOの送信IPを列挙)を参照して成功します。さらに、エンベロープのドメインは組織ドメインのサブドメインなので、緩和されたアライメントのもとでDMARCに対してもSPFのアライメントが一致します。ルートドメインのSPFレコードに一切手を加えなくてよいのはこのためです。Return-Path用のCNAMEがその役割を担い、公開SPFレコードのDNSルックアップも消費しません。従来の共有includeであるinclude:spf.smtp2go.comは今も解決されますが、SMTP2GOが案内している方法はCNAME/VERPサブドメインです。includeを使う方法は明らかに劣ります。Return-PathがSMTP2GO自身のドメインのままになるため、SPFでメールは許可されても自社ドメインとはアライメントが一致せず、DMARCの成功はDKIM署名に完全に頼ることになります。結論として、Sender DomainのCNAMEを使い、ルートドメインのSPFレコードはそのままにしてください。SPFのアライメントが得られ、DNSルックアップの10回制限の枠も消費せずに済みます。
2つの設定方法
Sender Domain:CNAME(推奨)
- SMTP2GOがVERPのReturn-Path用サブドメインでSPFを管理し、CNAMEの背後でDKIMの署名とローテーションを行います
- ルートドメインのSPFレコードのDNSルックアップを消費しません。まとめる必要のあるものもありません
- SPFとDKIMのどちらも自社ドメインとアライメントが一致するため、両方の仕組みでDMARCに成功します
- 鍵やIPの変更はSMTP2GO側で処理されるため、DNSを編集し直す必要はありません
従来方式:include:spf.smtp2go.com(非推奨)
- ルートドメインのSPFレコードにv=spf1 include:spf.smtp2go.com ~allを自分で追加します
- SPFの10回のDNSルックアップのうち1回を消費します
- Return-PathがSMTP2GOのドメインのままになるため、SPFで許可はされてもアライメントは一致せず、DMARCの成功はDKIM署名だけが頼りになります
- サブドメインにCNAMEをどうしても公開できない場合の代替手段に限られます
設定手順
- 1
Verified Sendersを開く
app.smtp2go.comにログインし、左メニューのSending → Verified Sendersを開いて、Sender Domainsタブ(Single Sender Emailsではありません)を開きます。
- 2
Sender Domainを追加
Add Sender Domainをクリックし、送信に使うドメイン(yourdomain.com、Fromアドレスのドメイン)を入力して確定します。SMTP2GOがそのドメイン用のCNAMEレコードをすぐに生成します。
- 3
3つのCNAMEレコードをコピー
SMTP2GOに3つのレコードが表示されます。Return-Path用のホスト(emXXXXXX → return.smtp2go.net)、DKIM用のホスト(sXXXXXX._domainkey → dkim.smtp2go.net)、トラッキング用のホスト(link → track.smtp2go.net)です。emXXXXXXのラベルにはアカウントの数値IDが含まれるので、すべてのラベルを表示どおりに正確にコピーしてください。後でValidateに戻るので、このタブは開いたままにします。
- 4
Return-Path(SPF)用のCNAMEを追加
DNSホストでCNAMEレコードを作成します。ホストはemXXXXXX(表示どおり)、値はreturn.smtp2go.netです。これはVERPのReturn-Path用サブドメインで、SPFの成功と自社ドメインとのアライメント一致を実現します。そのため、ルートドメインのSPFレコードにincludeを追加する必要はありません。
- 5
DKIM用のCNAMEを追加
2つ目のCNAMEレコードを作成します。ホストはsXXXXXX._domainkey(SMTP2GOがアカウント用に表示するDKIMセレクターを正確にコピー)、値はdkim.smtp2go.netです。TXTレコードとして貼り付けないでください。これはDKIM鍵をSMTP2GOに委任するCNAMEです。
- 6
トラッキング用のCNAMEレコードを追加(推奨)
3つ目のCNAMEレコードを作成します。ホストはlink、値はtrack.smtp2go.netです。これにより、SMTP2GOの共有httpドメインではなく自社のサブドメイン上で、HTTPSを使って開封とクリックのリンクをトラッキングできます。技術的には任意で、省略してもSPFとDKIMには成功しますが、ブランド化された安全なリンクトラッキングのために推奨します。
- 7
Cloudflareのプロキシをオフにする
DNSがCloudflare上にある場合は、これらのレコードをすべて「DNS only」(グレーのクラウド)に設定します。オレンジのクラウドでプロキシが有効なCNAMEレコードは*.smtp2go.netに解決されず、検証に失敗します。
- 8
DMARCポリシーを公開
DMARCポリシーはSMTP2GOでは作成されません。監視を始めるため、_dmarc.yourdomain.comに別のTXTレコードを追加します。値はv=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comです。_dmarcレコードはドメイン全体で1つだけにしてください。
- 9
SMTP2GOでValidateをクリック
Sender Domainsページに戻り、ドメインの横にあるValidateをクリックします。DNSの反映は通常数分ですが、最大48時間かかることがあります。すべてのCNAMEが解決されると、ドメインはVerified(緑)に変わります。
- 10
実際のテストメールを送信してヘッダーを確認
確認済みドメインのアドレスから自分宛てにメッセージを送り、Gmail → ⋮ → Show originalで開きます。SPF: PASS、DKIM: PASSがいずれも自社ドメインに紐づき、さらにDMARC: PASSと表示され、smtp2go.comの表示がなければ成功です。
追加するレコード
正確な値はSMTP2GOのセットアップウィザードで生成されます。以下は、DNSホストに追加するレコードの形式を示したものです。
| タイプ | ホスト | 値 |
|---|---|---|
| CNAME | em1234567 | return.smtp2go.netReturn-Path(VERP)用のサブドメインです。SPFを満たし、アライメントを一致させるのはこのレコードです。em1234567のラベルにはアカウントの数値IDが含まれるので、ダッシュボードから正確にコピーしてください(ここに示す値は例です)。 |
| CNAME | s1234567._domainkey | dkim.smtp2go.netDKIM用のレコードです。sXXXXXX._domainkeyはSMTP2GOがアカウントに割り当てるセレクターなので、ダッシュボードから正確にコピーしてください(表示のラベルは例です)。このCNAMEの背後でSMTP2GOが鍵を保持してローテーションするため、貼り付けるTXTレコードはありません。 |
| CNAME | link | track.smtp2go.net自社のサブドメイン上でHTTPSを使った開封とクリックのトラッキングを行います。推奨しますが、技術的には任意で、なくてもSPFとDKIMには成功します。 |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comDMARCポリシーです。1つのドメインにつき1つで、SMTP2GOではなく自分で追加します。 |
ルートドメインのSPF(v=spf1)のTXTレコードは1つだけにし、すべての送信元をこの1行にまとめてください。SPFレコードが2つあると、それ自体がエラーになります。
DNSルックアップの10回制限
SPFのDNSルックアップは10回までに厳格に制限されており、超えるとpermerrorを返して、どの受信側でも検証されなくなります。SMTP2GOの設定がこの上限のうち何回を消費するかは、次のとおりです。
SMTP2GOの推奨設定はルックアップを消費しません。10回すべてを、includeが必要な他の送信元に使えます。
DKIM
DKIMは、dkim.smtp2go.netを指すsXXXXXX._domainkeyのCNAME(例:s1234567._domainkey.yourdomain.com)がすべて担います。貼り付けるTXTレコードではなくSMTP2GOに委任するCNAMEレコードなので、秘密鍵はSMTP2GOが保持し、そのセレクターの背後にある公開鍵をローテーションできます。自社側でDNSを再び編集する必要はありません。鍵を生成する必要はなく、コピーするTXTの値もありません。ダッシュボードの表示どおりにCNAMEを1つ追加するだけです(Cloudflareを使っている場合は「DNS only」(グレーのクラウド)に設定します)。解決されるようになると、SMTP2GO経由で自社ドメインから送るすべてのメッセージにDKIM署名が付き、アライメントも一致します。これだけで、Gmail/Yahooの基本要件である「SPFまたはDKIM」を満たしますが、SPFのアライメントも一致させるため、Return-Path用のCNAMEも設定しておきましょう。
DMARC
DMARCは、ルートドメインに設定する別のポリシーレコードです。SMTP2GOのVerified Sendersのフローでは作成されないため、自分で追加してください。_dmarc.yourdomain.comに、v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comで始まるTXTレコードを公開します。p=noneは監視のみのため、SMTP2GOのメールがSPFとDKIMに成功し、自社ドメインとアライメントが一致していることを確認する間、配信には影響しません。1~2週間、集計レポート(rua)を確認し、すべての正規の送信元のアライメントが一致すると確信できたら、p=quarantine、最終的にp=rejectへと段階的に引き上げます。送信者の数にかかわらず、_dmarcレコードはドメイン全体で1つだけにしてください。SMTP2GOのためだけに2つ目のDMARCレコードを追加してはいけません。GmailやYahooに大量送信する場合、少なくともアライメントを伴うp=noneの設定は、今や任意ではなく必須です。
正しく設定できたか確認する
ダッシュボードの緑の「Verified」バッジだけで判断せず、実際のメールで確認してください。確認済みドメインのアドレスから自分宛てにテストメールを送り、Gmailで開いて⋮ → Show originalを選びます。SPF: PASS、DKIM: PASSがいずれも自社ドメインを示し(SPFは組織ドメインとアライメントが一致するemXXXXXXのReturn-Path、DKIMはsで始まるセレクターを参照)、さらにDMARC: PASSと表示されていれば成功です。レポート形式で確認したい場合は、check-auth@verifier.port25.comにテストメールを送ると、詳しい内訳がメールで返ってきます。Qualisendのドメイン診断でドメインをチェックし、3つのCNAMEがすべて解決され、DMARCレコードが有効であることも確認できます。集計レポートが届き始めたら、DMARCレポート解析にレポートをドロップします。SMTP2GOが、アライメントの一致した成功している送信元として表示されるはずです。
よくある注意点
- DNS設定
Cloudflareのプロキシが原因で失敗します。SMTP2GOのCNAMEはすべて「DNS only」(グレーのクラウド)に設定してください。オレンジのクラウドでプロキシが有効なCNAMEレコードは*.smtp2go.netに解決されず、検証に失敗します。ドメインが「unverified」のまま進まない原因として、これが最も多いものです。
- DNS設定
Single Sender Emailsはドメイン認証ではありません。確認リンクで1つのアドレスを確認すれば、そのアドレスから送信できますが、SPF/DKIMのアライメントは得られません。本来の認証と到達率を得るには、Sender Domain(CNAMEのフロー)を追加する必要があります。
- DNS設定
ホストの二重付加に注意してください。多くのレジストラはドメインを自動で付加するため、em1234567.yourdomain.comと入力するとem1234567.yourdomain.com.yourdomain.comになります。管理画面がドメインを付加する場合は、ラベル(em1234567、s1234567._domainkey、link)だけを入力します。
- DNS設定
CNAMEで設定した場合は、ルートドメインのSPFレコードにinclude:spf.smtp2go.comを追加しないでください。不要なうえ、SPFの10回のルックアップのうち1回を無駄に消費し、(Return-PathがSMTP2GOのドメインのままなので)SPFのアライメントも得られません。SPFはemXXXXXXのReturn-Path用CNAMEがすでに処理しています。
- DNS設定
Return-Path用のCNAMEレコードは常に残しておいてください。これはVERPのReturn-Pathです。後で削除するとSPFのアライメントとバウンス処理が壊れ、気づかないうちにSPFでDMARCに失敗するようになることがあります。
- 適用範囲
アカウント固有のラベルは正確にコピーしてください。emとsのホストラベルはアカウントごとに生成されます(例:em1234567、s1234567._domainkey)。推測したり、別アカウントのラベルを使い回したり、数字を入れ替えたりすると検証に失敗します。
- DNS設定
AやTXTではなくCNAMEとして追加してください。DNSホストにCNAMEを「フラット化」させないでください。特にDKIMレコードはTXTと間違えられがちですが、dkim.smtp2go.netを指すCNAMEのままにする必要があります。
- 認証失敗の原因
ドメインのSPFのTXTレコードと_dmarcのTXTレコードは、それぞれ1つだけにしてください。Google、Microsoft 365、Mailchimpなどからも送信している場合は、2つ目のSPFレコードを公開せず、それらのメカニズムを1行のv=spf1にまとめます。SPFレコードが2つあると、それ自体がPermErrorになります。
SPFレコードを作成
SMTP2GOでは、ルートドメインにSPFのinclude:を追加する必要はありません。作成ツールを使って他の送信元用のクリーンなレコードを1つ組み立て、1行に収めてください。
送信元
メールの送信に使っているサービスを検索して、それぞれチェックを入れてください。
上の検索欄で利用中のメールサービスを検索するか、してください。
このドメイン自身のサーバー
ドメインが(上記のサービスを経由せず)直接メールを送信する場合は、ドメイン自体を許可します。
その他の送信元・IP
リストにないもの(別のサービスのSPFホストや特定のIPアドレス)を追加します。
接頭辞のinclude:は自動で付加されます。サービスのドキュメントに記載されているホスト名を入力してください。
その他すべての送信元へのポリシー
上記に記載されていないサーバーからのメールを、受信側がどう処理すべきかを指定します(allメカニズム)。
送信元がまだないため、すべてのメッセージに~allポリシーが適用されます。ステップ1で利用中のサービスを追加してください。
- ルートドメインにTXTレコードとして公開します。ホストは@(ドメインそのもの)、値は上記の文字列全体です。
- SPFレコードは1つのドメインにつき1つだけにします。すべての送信元をこの1行にまとめてください。v=spf1で始まるTXTレコードが2つあると、両方とも無効になります。
- DNSルックアップは10回以内に収めてください。include:、a、mxはそれぞれ1回とカウントされ、includeは内部でさらにルックアップを発生させることがあります。ip4:とip6:はカウントされません。
送信ドメイン認証の設定が済んだら、次は検証済みのクリーンなリストへの配信です。
リストを検証SMTP2GOのSPFに関するよくある質問
関連記事
トランザクションメール・APIの他のサービス
すべてのSPFガイド公開したら、ドメイン診断ですべてのレコードが正しく解決されることを確認し、DMARCレポート解析で自社ドメインを名乗って送信している送信元を把握します。作成ツールではすべての送信元を確認できます。ただし、認証は到達率対策の半分にすぎません。送信IPやドメインがブラックリストに掲載されていると、SPFの設定がどれほど適切でも迷惑メールに振り分けられます。そのため、ブラックリスト監視で掲載状況を確認しておくことをおすすめします。
認証の次は、リストをクリーンに保つ
SPF、DKIM、DMARCに成功すれば受信トレイに届き、クリーンなリストならその状態を維持できます。お手持ちのリストも検証してクリーニングできます。100クレジット無料、クレジットカード登録不要で始められます。