Zoho MailのSPF・DKIM・DMARC設定。
Zoho Mailでのドメイン認証は、ワンクリックのウィザードではなくAdmin Console(mailadmin.zoho.com)で行います。ルートドメインにある1つのSPFレコードにZohoの共有includeを追加し、自分で名付けたセレクターでDKIM鍵を生成してTXTレコードとして公開し(その後セレクターをEnabledに切り替えます)、DMARCポリシーを自分で追加します。Zoho Mailは本格的なメールボックスサービスで、送信時のエンベロープ送信者には利用者自身のアドレスが使われるため、SPFとDKIMの両方で組織ドメインとのアライメントが一致します。そのため正しく設定されたZohoドメインは両方のメカニズムでDMARCに成功し、Gmailのmailed-byとsigned-byには「via zoho.com」という表示ではなく自社ドメインが示されます。
Zoho Mailを認証すべき理由
Zoho Mailドメインの認証は、メールが受信トレイに届くかどうかを左右します。2024年2月以降、GmailとYahooは、すべての大量送信者(1日あたり約5,000通以上)に対し、SPF、DKIM、DMARCにアライメントが一致した状態で成功することを義務付けています。Microsoftも2025年に、Outlook.com/Hotmail/Live宛ての大量メールに同じ要件の適用を始めました。この点でZoho Mailは多くの送信者より有利です。メールボックスサービスなので送信メールのエンベロープ送信者は利用者自身のアドレスになり、SPFはチェック自体の成功にとどまらず、自社ドメインとアライメントが実際に一致します。ただし注意点があります。DKIM鍵を生成してセレクターをEnabledに切り替えるまで、メールはSPFだけに頼ることになり、SPFはメッセージが転送された時点(メーリングリスト、.forwardルール、フィルタリングゲートウェイ)で機能しなくなります。DKIMを設定すると、転送後も有効な、アライメントの一致した2つ目のメカニズムが得られます。すべてのメッセージにsigned-by: yourdomain.comの署名が付き、DMARCに安定して成功できるようになり、築いた送信レピュテーションも自社ドメインに蓄積されます。
Zoho MailにおけるSPFの実情
Zoho Mailは正真正銘の「include」型サービスです。ルートドメインにある1つのSPF TXTレコードに、共有メカニズムのinclude:zohomail.comを1つ追加します。Zohoのコンソールが推奨するレコード全体はv=spf1 include:zohomail.com -allです。Mailchimp、KlaviyoのようにReturn-Pathを自ら管理するメール配信サービス(ESP)とは異なり、Zoho Mailのメールボックスから送信すると、利用者自身のアドレスがエンベロープ送信者になります。そのためSPFは組織ドメインとアライメントが実際に一致し、チェック自体の成功にとどまらず、それだけでDMARCの成功に寄与します。ルックアップの消費も少なく済みます。include:zohomail.comはネストされたフラットなinclude(ip4:の範囲と独自の-allのみを含むinclude:spf.zohomail.com)1つに解決されるため、RFC 7208の10回のSPF DNSルックアップのうち2回しか消費しません。Zoho固有の注意点は2つあります。1つ目はデータセンターのリージョンです。ZohoはUS、EU、インド、オーストラリアなどのリージョンでアカウントをホストしており、includeはリージョンによって異なる場合があります。EUでホストされるアカウントはinclude:zoho.eu、インドはinclude:zoho.inを使います。誤ったリージョンのincludeでは実際の送信IPが含まれず、SPFに失敗します。必ず自社のAdmin Consoleに表示される値をそのままコピーしてください。2つ目は、同じドメインで他のZoho製品(Campaigns、ZeptoMail、CRM、Desk)からも送信する場合です。Zohoはこれらをまとめたcatch-all型のinclude:one.zoho.comを公開しています(spf.zoho.com + zeptomail.net + zcsend.netに展開され、約4回のルックアップ)。複数のZohoのincludeを重ねず、この1つを使ってください。Zohoだけが送信するドメインでは、Zohoは末尾を-all(hard fail)にすることを推奨しています。また、ドメインのSPF TXTレコードは必ず1つだけにしてください。Google Workspace、Microsoft 365、SendGridなどからも送信する場合は、2つ目のレコードを公開せず、すべてのメカニズムを1行のv=spf1にまとめます(SPFレコードが2つあるとPermErrorになります)。
2つの設定方法
Zoho Mailのみ:include:zohomail.com
- メールボックスのみのドメインにZohoのAdmin Consoleが提示するレコードです:v=spf1 include:zohomail.com -all
- SPFの10回のルックアップのうち2回を消費します。zohomail.comはフラットなinclude:spf.zohomail.com(ip4のみ)を1つネストします
- Zohoのメールボックスから送信するとエンベロープ送信者が利用者自身のアドレスになるため、SPFのアライメントが自社ドメインと一致します
- すべての送信元を記載したら、Zohoが推奨するhard failの-allで終えます
Zohoスイート全体:include:one.zoho.com
- 同じドメインでZoho Campaigns、ZeptoMail、CRM、Deskなどからも送信する場合にのみ使います
- one.zoho.comはspf.zoho.com + zeptomail.net + zcsend.netに展開され、DNSルックアップは約4回です
- 複数のZohoのincludeを重ねる代わりに、1つのincludeですべてのZoho製品をカバーします
- Zoho Mailのメールボックスだけなら過剰でルックアップも多くなるため、zohomail.comを使ってください
設定手順
- 1
Admin Consoleを開いてドメインを選択
管理者またはスーパー管理者としてmailadmin.zoho.comにサインインし、左メニューのDomainsで送信に使うドメインを選択します。以降の設定はすべて、そのドメインのEmail Configurationタブにあります。
- 2
先にドメインが確認済みであることを確認
ドメインを追加したばかりの場合、Zohoは認証の前に所有権の証明を求めます。Domainsの下に、CNAME(zb…のホスト)またはTXT/HTMLの確認方法が表示されます。この所有権の手順はSPF/DKIM/DMARCとは別のもので、続行する前に緑色になっている必要があります。
- 3
MXレコードを追加(Zohoでメールボックスをホストする場合)
DNSホストに3つのMXレコードを追加します:mx.zoho.com(優先度10)、mx2.zoho.com(20)、mx3.zoho.com(50)。TLDはデータセンターのリージョンによって異なります(例:.eu、.in)。Admin ConsoleのConfiguration/Toolsセクションにアカウント用として表示されるホスト名をそのまま使ってください。MXは受信に関するもので認証ではありませんが、同じ設定の一部です。
- 4
SPFレコードを公開(既存なら1つにまとめる)
ルートドメイン(ホストは@または空欄)に、値がv=spf1 include:zohomail.com -allのTXTレコードを追加します。SPFレコードがすでにある場合は、include:zohomail.comをその1行のv=spf1にまとめ、2つ目のSPFレコードは絶対に公開しないでください。EU/インドのデータセンターのアカウントは代わりにinclude:zoho.eu / include:zoho.inを使います。ドメインで他のZohoアプリも使っている場合はinclude:one.zoho.comを使います。
- 5
DKIMセレクターを生成
Email Configuration → DKIMでAddをクリックします。セレクター名を入力し(Zohoの例はzohoですが、zmailなど任意のラベルを使えます)、DNSホストが対応していれば鍵長2048ビットを選び(対応していなければ1024)、Addをクリックします。Zohoが公開鍵を生成し、公開するTXTレコードを表示します。
- 6
DKIMのTXTレコードを公開
ホストが<selector>._domainkey(例:zoho._domainkey)、値がZohoに表示されたv=DKIM1; k=rsa; p=…の文字列であるTXTレコードを作成します。レジストラがドメインを自動で付加する場合は、ラベルのzoho._domainkeyだけを入力します。2048ビットの鍵は1文字列255文字のTXTの上限を超え、引用符付きの断片に分割して保存されることがありますが、問題ありません。
- 7
セレクターを確認して有効化
DNSが反映されたらDKIMタブに戻り、セレクターの横にあるVerifyをクリックします。「Enable DKIM immediately or later」と表示されたらEnableを選びます。ここは見落とされやすい手順です。セレクターがEnabledになって初めて、Zohoはd=yourdomain.comで送信メールに実際に署名します。確認済みでも有効化していないセレクターではDKIMに成功しません。
- 8
DMARCポリシーレコードを追加
DMARCはZohoが作成しないため、ホスト_dmarcに、v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comのTXTレコードを追加します。SPFとDKIMの両方のアライメントが一致していることを確認する間は配信に影響が出ないよう、p=none(監視のみ)から始め、後で引き上げます。_dmarcレコードは1つのドメインにつき1つだけにしてください。
- 9
テストメールを送信してヘッダーを確認
ZohoのメールボックスからGmailアカウント宛てに送信し、メールを開いて⋮ → Show originalを選びます。SPF: PASSにyourdomain.com、DKIM: PASSにd=yourdomain.comと自社のセレクター(zoho.comではないこと)、DMARC: PASSと表示されていれば成功です。その後、ドメイン診断ですべてのレコードが解決されることを確認します。
追加するレコード
正確な値はZoho Mailのセットアップウィザードで生成されます。以下は、DNSホストに追加するレコードの形式を示したものです。
| タイプ | ホスト | 値 |
|---|---|---|
| MX | @ | mx.zoho.com優先度10。mx2.zoho.com(20)とmx3.zoho.com(50)も追加します。認証レコードではありません。TLDはデータセンターのリージョンによって異なるため、Admin Consoleから正確なホストをコピーしてください。 |
| TXT | @ | v=spf1 include:zohomail.com -allルートドメインのSPF:SPFレコードは1つだけにし、他の送信元はこの行にまとめます。DNSルックアップを2回消費します。EU/INのアカウントはinclude:zoho.eu / include:zoho.in、複数アプリを使うドメインはinclude:one.zoho.comを使います。 |
| TXT | zoho._domainkey | v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A…(public key from the Admin Console)例です。鍵はEmail Configuration → DKIMでドメインごとに生成され、ホストは選んだセレクターと一致している必要があります。公開後、ZohoでVerify、続いてEnableをクリックしてください。 |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com自分で追加するレコードで、Zohoが作成することはありません。1つのドメインにつき1つです。p=noneから始め、その後quarantine/rejectへと引き上げます。 |
ルートドメインのSPF(v=spf1)のTXTレコードは1つだけにし、すべての送信元をこの1行にまとめてください。SPFレコードが2つあると、それ自体がエラーになります。
DNSルックアップの10回制限
SPFのDNSルックアップは10回までに厳格に制限されており、超えるとpermerrorを返して、どの受信側でも検証されなくなります。Zoho Mailの設定がこの上限のうち何回を消費するかは、次のとおりです。
Zoho Mailは10回のルックアップのうち2回を消費します。ip4:とip6:のメカニズムはルックアップを消費しません。
DKIM
Zoho MailのDKIMは、自分で名付けたセレクターでAdmin Console内で生成します。貼り付ける固定値はありません。Domains → 対象ドメイン → Email Configuration → DKIMを開いてAddをクリックし、セレクターを入力します(Zohoの例はzohoですが、zmailなど任意のラベルを使えます)。1024ビットまたは2048ビットを選ぶと(DNSホストが長い値に対応していれば2048を選びます)、Zohoが公開鍵を生成します。これを、ホストが<selector>._domainkey(セレクターをzohoと名付けたならzoho._domainkey)、値がv=DKIM1; k=rsa; p=<public key>のTXTレコードとして公開します。次がZoho固有の重要な手順です。DKIMタブに戻ってセレクターのVerifyをクリックし、「Enable DKIM immediately or later」と表示されたらEnableを選びます。セレクターがEnabledになって初めて、Zohoはd=yourdomain.comで送信メールに実際に署名します。確認だけして有効化しないことが、正しく公開したレコードでもDKIMに成功しない最も多い原因です。鍵は(委任されたCNAMEではなく)自分で公開するTXTレコードなので、自社で管理できます。後でローテーションするには、新しいセレクターを追加して公開と有効化を行い、古いセレクターを削除します。2048ビットの公開鍵は1つの255文字のTXT文字列より長いため、DNS管理画面によっては1つのレコード内で引用符付きの複数の断片として保存されます。これは想定どおりの動作で、ほとんどのレジストラは正しく再構成します。
DMARC
DMARCは、自分で追加する別のポリシーレコードです。Zohoは作成せず、Zoho自身もSPFとDKIMを先に設定してからDMARCを公開するよう案内しています。_dmarc.yourdomain.comに、v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comで始まるTXTレコードを追加します。p=noneは監視のみで配信には影響せず、受信側から集計レポートが届くようになります。これにより、Zoho Mailから送信したメールがSPFとDKIMに成功し、自社ドメインとアライメントが一致していることを確認できます。Zohoでは、SPFは利用者自身のエンベロープアドレスで、DKIMは利用者が設定したセレクターで、両方のメカニズムのアライメントが一致します。そのため、すぐに問題なく成功するはずです。1~2週間、集計レポート(rua)を確認し、正当な送信元がすべて認証されていることを確かめてから、p=quarantine、最終的にp=rejectへと段階的に引き上げます。Zoho自身もこれを実践しており、同社のコーポレートドメインでp=rejectを公開しています。送信元がいくつあっても、_dmarcレコードはドメイン全体で1つだけにしてください。サブドメインは、sp=タグや専用の_dmarcレコードで上書きしない限り、親のポリシーを継承します。
正しく設定できたか確認する
Admin Consoleのバッジだけで判断せず、実際のメールで確認してください。Zohoのメールボックスから別のアカウント宛てに送信し、Gmailで開いて⋮ → Show originalを選びます。SPF: PASS、DKIM: PASSにd=yourdomain.comと自社のセレクター、DMARC: PASSと表示され、すべて自社ドメインとアライメントが一致していれば成功です(失敗の典型的な兆候はzoho.comでの署名で、セレクターがまだEnabledになっていないことを示します)。Admin Consoleでは、Email ConfigurationのSPFとDKIMの項目がVerified/Enabledになっているはずです。Zoho内蔵のToolkitでも、MX/SPF/DKIMをひと目で確認できます。生のレコードはdig TXT zoho._domainkey.yourdomain.comとdig TXT _dmarc.yourdomain.comで確認できます。最後に、Qualisendのドメイン診断でドメインをチェックし、すべてのレコードが解決され、SPFが10回の上限内に収まっていることを確認します。集計レポートが届き始めたら、DMARCレポート解析にレポートをドロップしてください。Zohoがアライメントが一致し、認証に成功している送信元として表示されるはずです。
よくある注意点
- 認証失敗の原因
DKIMセレクターは確認するだけでは足りず、Enableをクリックする必要があります。セレクターの確認後に「Enable DKIM immediately or later」が表示されます。有効化するまでZohoはメールに署名せず、DKIMのアライメントは一致しません。これはGoogleの「Start authentication」に相当する手順で、公開した鍵がチェックで失敗する最も多い原因です。
- 適用範囲
データセンターのリージョンの不一致はSPFの失敗につながります。ZohoはUS、EU、インド、オーストラリアなどのリージョンでアカウントをホストしており、includeはリージョンによって異なる場合があります。EUはinclude:zoho.eu、インドはinclude:zoho.inで、MXのTLDも変わります。一般的なガイドではなく、自社のAdmin ConsoleからSPFとMXの値をそのままコピーしてください。誤ったリージョンのincludeでは送信IPが含まれず、SPFに失敗します。
- 適用範囲
Zohoが推奨するのは、Zohoのみが送信する場合の-all(hard fail)で、~allではありません。これは厳格で、1つのSPFレコードに記載のない送信元はすべて拒否されます。正当な送信元(他のESP、Webサイト、CRM)がすべてレコードに含まれて初めて安全です。確信がなければ~allから始め、後で-allに強化してください。
- 認証失敗の原因
ドメインのSPF TXTレコードは必ず1つだけにしてください。Google Workspace、Microsoft 365、SendGridなどからすでに送信している場合は、include:zohomail.comをその1行のv=spf1にまとめます。SPFレコードが2つあるとPermErrorになります。
- 認証失敗の原因
ドメインの確認は認証ではありません。Zohoにドメインを追加するには、まず別の所有権レコード(zb…のCNAME、またはzoho-verificationのTXT/HTMLファイル)が必要です。これは所有権を証明するだけでSPF/DKIM/DMARCには何の効果もなく、これらはその後で設定します。
- DNS設定
DKIMのホストは選んだセレクターと一致している必要があります。セレクターをzohoと名付ければTXTのホストはzoho._domainkey、zmailならzmail._domainkeyです。誤ったホストに鍵を公開すると、Verifyは成功しません。
- DNS設定
ホスト欄の二重付加:ドメインを自動で付加するレジストラでは、zoho._domainkeyがzoho._domainkey.yourdomain.com.yourdomain.comになります。管理画面がドメインを付加する場合は、ラベル(zoho._domainkey)だけを入力してください。
- DNS設定
複数のZohoアプリから送信していますか?include:zohomail.com + include:zoho.com + include:zcsend.netを別々のメカニズムとして重ねず、include:one.zoho.com(または必要最小限)にまとめ、SPFの10回の上限内に収めてください。
SPFレコードを作成
以下ではZoho Mailがあらかじめ選択されています。他に利用している送信プラットフォームを追加し、1つにまとめたレコードを公開してください。
このドメイン自身のサーバー
ドメインが(上記のサービスを経由せず)直接メールを送信する場合は、ドメイン自体を許可します。
その他の送信元・IP
リストにないもの(別のサービスのSPFホストや特定のIPアドレス)を追加します。
接頭辞のinclude:は自動で付加されます。サービスのドキュメントに記載されているホスト名を入力してください。
その他すべての送信元へのポリシー
上記に記載されていないサーバーからのメールを、受信側がどう処理すべきかを指定します(allメカニズム)。
- ルートドメインにTXTレコードとして公開します。ホストは@(ドメインそのもの)、値は上記の文字列全体です。
- SPFレコードは1つのドメインにつき1つだけにします。すべての送信元をこの1行にまとめてください。v=spf1で始まるTXTレコードが2つあると、両方とも無効になります。
- DNSルックアップは10回以内に収めてください。include:、a、mxはそれぞれ1回とカウントされ、includeは内部でさらにルックアップを発生させることがあります。ip4:とip6:はカウントされません。
送信ドメイン認証の設定が済んだら、次は検証済みのクリーンなリストへの配信です。
リストを検証Zoho MailのSPFに関するよくある質問
関連記事
ワークスペース・メールボックスの他のサービス
- Apple iCloud+ Custom Email Domain
- Fastmail
- Google Workspace
- mailbox.org
- Microsoft 365
- Microsoft 365 (GoDaddy / IONOS)
- Migadu
- Namecheap Private Email
公開したら、ドメイン診断ですべてのレコードが正しく解決されることを確認し、DMARCレポート解析で自社ドメインを名乗って送信している送信元を把握します。作成ツールではすべての送信元を確認できます。ただし、認証は到達率対策の半分にすぎません。送信IPやドメインがブラックリストに掲載されていると、SPFの設定がどれほど適切でも迷惑メールに振り分けられます。そのため、ブラックリスト監視で掲載状況を確認しておくことをおすすめします。
認証の次は、リストをクリーンに保つ
SPF、DKIM、DMARCに成功すれば受信トレイに届き、クリーンなリストならその状態を維持できます。お手持ちのリストも検証してクリーニングできます。100クレジット無料、クレジットカード登録不要で始められます。