The exact SPF record
Copy the example that matches your setup. Each one is a single TXT record; the host is shown as your DNS provider usually expects it (@ means the domain itself).
Zoho Mail only
Type: TXT · Host: @ · 5 of 10 DNS lookups
v=spf1 include:zoho.com ~all
Several Zoho services
Type: TXT · Host: @ · 4 of 10 DNS lookups
v=spf1 include:one.zoho.com -all
Zoho's guide gives this example with -all; ~all is the softer alternative it shows for include:zoho.com.
Zoho Mail and a web server that sends mail
Type: TXT · Host: @ · 5 of 10 DNS lookups
v=spf1 ip4:203.0.113.25 include:zoho.com ~all
Replace 203.0.113.25 with your server's public IP address.
How SPF applies to Zoho Mail mail
Receivers check SPF against the domain in the envelope sender (the MAIL FROM or bounce address). Zoho Mail sends with your own domain there, so its include belongs in the SPF record on the domain you send from.
- If the SPF value in your Zoho Mail Admin Console differs from the one here, use the console's value: it is generated for your account.
- Zoho's guide shows
-allas the strict alternative to~all.
How to add it
- In Zoho Mail Admin Console, open your domain's email configuration and note the SPF value Zoho shows for your account.
- At your DNS host, look for an existing TXT record on
@that starts withv=spf1. - Add
include:zoho.comto that record, or create a TXT record with host@and the value above. - Save, then use Zoho's verify button and the SPF Checker below to confirm the live record.
DKIM and DMARC alignment
Zoho documents DKIM setup for your domain in a separate guide (linked below). With DKIM signing on, mail from Zoho can pass DMARC through DKIM even when SPF fails, for example after forwarding. Then add a DMARC record.
DMARC passes when SPF or DKIM passes and the domain it checked matches your From domain. Our guide to SPF, DKIM and DMARC explains how the three fit together.
Common mistakes
- Two SPF records. A domain may publish only one record that starts with
v=spf1. With two, receivers return a permanent error and SPF fails for all your mail (RFC 7208 section 3.2). Merge every sender into one record. - More than 10 DNS lookups. Each
include,a,mx,existsandredirectcosts a lookup, nested ones included; over 10 is a PermError (section 4.6.4). Zoho Mail's include costs 5 on its own. See how to fix too many SPF lookups. - Choosing
~allor-allwithout a plan. Zoho Mail's documentation uses~all.-allasks receivers to reject unlisted servers;~allasks them to accept but mark the mail. Once DMARC is enforced, receivers act on DMARC instead. Read SPF soft fail vs hard fail before you choose. - Zoho's guide lists separate records like
v=spf1 include:abc.com ~all,v=spf1 include:def.com ~allandv=spf1 include:zoho.com ~allas wrong: merge them into one record,v=spf1 include:abc.com include:def.com include:zoho.com ~all.
Check your SPF record
See your live record, every nested include and the real lookup count. Free, reads public DNS only.
Building a new record? Open the SPF Record Generator with Zoho Mail filled in.
Frequently asked questions
What is the SPF record for Zoho Mail?
Zoho's guide gives v=spf1 include:zoho.com ~all, published as a TXT record with host @. If you use several Zoho services from the same domain, it suggests v=spf1 include:one.zoho.com -all to avoid SPF lookup failures.
How many DNS lookups does Zoho's include use?
We measured include:zoho.com at 5 lookups and include:one.zoho.com at 4 on 9 October 2026, because both nest further includes. Add a few more services and you can pass the limit of 10. The SPF Checker counts your live total.
Can I have one SPF record for Zoho and another for my web host?
No. A domain must publish only one SPF record, and Zoho's guide says so too. Put every sender in a single record, for example v=spf1 ip4:203.0.113.25 include:zoho.com ~all.
Sources
- Zoho Mail Help: SPF configuration
- Zoho Mail Help: DKIM configuration
- RFC 7208: Sender Policy Framework (SPF)
Values checked against Zoho Mail's documentation on October 9, 2026. Lookup counts measured with our SPF Checker on October 9, 2026; providers change their records, so check yours before relying on a number.
SPF records for other providers
- Microsoft 365include:spf.protection.outlook.com
- Google Workspaceinclude:_spf.google.com
- GoDaddyinclude:secureserver.net
- Fastmailinclude:spf.messagingengine.com
- Proton Mailinclude:_spf.protonmail.ch
- Amazon SESinclude:amazonses.com
- SendGridinclude:sendgrid.net
- Mailguninclude:mailgun.org
- PostmarkNone needed
- MailchimpNone needed
- BrevoNone for standard sending; spf.brevo.com with a dedicated IP
- HubSpotAccount-specific (copy from HubSpot)
- KlaviyoNone needed
- Salesforceinclude:_spf.salesforce.com
- Zendeskinclude:mail.zendesk.com
- Freshdeskinclude:email.freshdesk.com
- IntercomNone needed
Related guides
SPF record syntax and examples
SPF record syntax explained: mechanisms, qualifiers and modifiers, with copy-ready examples for Microsoft 365, Google Workspace, subdomains and parked domains.
9 min read SPF, DKIM & DMARCHow to fix SPF PermError: too many DNS lookups
Why SPF breaks at 10 DNS lookups, how to count them, and step-by-step fixes for Microsoft 365 and Google Workspace domains with many senders.
8 min read SPF, DKIM & DMARCSPF softfail vs hardfail: should you use ~all or -all?
What ~all, -all and ?all mean in SPF, what receivers really do with each, how DMARC changes the choice, and which one to use for sending and parked domains.
8 min readLast updated