Why Zoho Mail Emails Go to Spam and How to Fix Them
If Zoho Mail emails go to spam, fix authentication first: one SPF record, Zoho DKIM enabled, and DMARC aligned with your visible From domain. If you skip those checks, warm-up and copy edits can hide the real fault. This guide gives you the records, limits, diagnosis steps and verification checks in the right order.
Start with DNS before changing copy or buying tools. The matching Zoho warm-up setup guide covers the Zoho API route, but deliverability starts with the domain. Use the free SPF checker, DKIM checker and DMARC checker while you work.
What is failing first?
Do not judge from one inbox test. One Gmail or Outlook test can be noisy. Identify the symptom, check the likely cause, then fix the specific failure.
| Symptom | Likely cause | 5-minute check | Fix |
|---|---|---|---|
| New Zoho domain lands in spam | No sending history | Check domain age and recent volume | Warm gradually for 3–4 weeks |
| Gmail shows SPF fail | SPF is missing or wrong | Check TXT at root domain | Add one SPF record with Zoho included |
| SPF permerror | Multiple SPF records | Run an SPF lookup | Merge all includes into one SPF record |
| DKIM does not pass | Zoho DKIM is not enabled | Check the Zoho selector | Generate, publish and verify Zoho DKIM |
| DMARC fails | SPF or DKIM does not align | Inspect Authentication-Results | Fix alignment before tightening DMARC |
| Auth passes but mail still spams | New reputation or weak engagement | Compare volume and replies | Reduce volume and warm up |
| Outbound mail is refused | Zoho unusual sending activity block | Check Zoho alerts and bounces | Pause, lower volume and resolve the block |
| Only campaign mail spams | Content, links or tracking | Send plain text without links | Rewrite and remove risky elements |
| Bounces rise quickly | Poor list quality | Review invalid and old contacts | Stop the list and verify contacts |
| Spam starts after a volume jump | Sending changed too fast | Compare the last 7 days | Cut volume and ramp slowly |
A send block and a spam placement problem are not the same. Spam placement means the receiver accepted the message and put it in spam. A block means Zoho may not send the message at all.
Fix SPF, DKIM and DMARC before you judge copy, warm-up or sending infrastructure.
Which numbers matter?
Use these as working ranges. Zoho, Google, Yahoo and Microsoft can change enforcement or plan limits, so check current provider documentation before a large campaign.
| Item | Practical number | Why it matters |
|---|---|---|
| SPF TXT records per domain | 1 | Multiple SPF records can cause SPF permerror |
| Common Zoho SPF include | include:zohomail.com | Authorises Zoho Mail for your domain |
| Common Zoho DKIM selector | zmail | Lets receivers verify Zoho-signed mail |
| Existing domain warm-up | 14 days | Gives time for gradual engagement signals |
| New domain warm-up | 3–4 weeks | New domains need slower reputation building |
| Warm-up starting volume | 3 emails/day | Starts with low-risk mailbox activity |
| Warm-up ramp | +2 per day to 30/day | Avoids sudden sending spikes |
| Warm-up during campaigns | 10–15/day | Keeps steady engagement while you send |
| Real outreach per mailbox | Typically 30–50/day | Safer than forcing one inbox harder |
| Pause threshold | Above 5% spam rate | Stop while you diagnose the cause |
| Ready signal | 14+ days, ≤3% spam rate, 30+ received | Practical threshold before outbound |
| Gmail complaint target | Under 0.1%, never above 0.3% | Google publishes this sender threshold |
Google’s sender guidance says spam complaint rates should stay below 0.1% and avoid reaching 0.3%. Check the current wording in Google’s email sender guidelines.
Why do Zoho Mail emails go to spam?
Receivers judge more than Zoho’s sending IP. They look at your domain authentication, alignment, sending history, volume pattern, recipient engagement, complaints and content.
If you use hosted Zoho Mail, you usually cannot directly change the sending IP reputation. You can control the domain layer. That is where most small-domain fixes should start.
SPF is missing or duplicated
SPF tells receivers which systems may send mail for your domain. For Zoho Mail, the common include is:
v=spf1 include:zohomail.com ~all
Publish it as a TXT record at the root of your domain. The host is usually @, depending on your DNS provider.
If you send through another platform, do not create a second SPF record. Merge the includes into one policy. For example, only if you really use both Zoho and SendGrid:
v=spf1 include:zohomail.com include:sendgrid.net ~all
Do not add services you do not use. Extra includes can create lookup problems and make audits harder.
Check the record in Zoho and with an external lookup. Use Zoho’s current source here: Zoho SPF configuration.
DKIM is not enabled
DKIM signs each message with a private key held by Zoho. Receivers verify that signature against the public key in your DNS.
In Zoho Mail Admin Console, go to:
Domains > your domain > Email Configuration > DKIM
Add or enable the selector Zoho gives you. The common selector is zmail. The DNS host is usually:
zmail._domainkey
The TXT value starts with:
v=DKIM1; k=rsa; p=
The rest is the public key from Zoho. Do not reuse a key from another domain. Publish the exact value, wait for DNS propagation, then return to Zoho and verify it.
Zoho’s primary guide is here: Zoho DKIM configuration. You can also test the selector with the free DKIM checker.
DMARC is absent or too strict
DMARC tells receivers what to do when SPF or DKIM fails alignment. It can also send reports if you add a reporting address.
Start with monitoring:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
Publish it as a TXT record at:
_dmarc
Do not start with p=reject on a domain you have not audited. You may block legitimate mail from Zoho, your website, billing system or support tools.
Once SPF and DKIM pass consistently, move to p=quarantine, then p=reject if all mail streams are under control. Use the free DMARC checker after each change.
Your Zoho organisation is new
A new Zoho organisation, new domain and new mailbox have little sending history. That does not mean Zoho is broken. It means filters have limited evidence.
Do not jump from zero to a full outbound campaign. Send normal business mail first. Get replies. Keep warm-up running in the background. Add mailboxes instead of pushing one mailbox harder.
If the domain is existing and clean, 14 days of warm-up is usually enough before cautious outbound. If the domain is new, use 3–4 weeks.
Content looks risky
Authentication can pass while the message still looks risky.
Common issues include link-heavy email, image-only messages, aggressive claims, URL shorteners, mismatched tracking domains and attachments sent to cold recipients. Plain text helps during diagnosis because it removes variables.
Run a clean test. Send the same message without links, images, tracking or attachments. If placement improves, your domain was not the only issue.
Cold email also needs accurate identity, a relevant reason for contact and an unsubscribe path where required. Authentication does not override poor targeting or unlawful sending.
The list is weak
Bad lists create bounces, complaints and silence. Silence matters because mailbox providers measure whether recipients open, reply, archive, delete or report your mail.
Do not keep sending to an old exported list because the first test had a few replies. Stop when bounces rise. Remove role accounts if they are not relevant. Do not email scraped personal addresses without a lawful basis.
If spam placement starts after a new list upload, pause the list. Keep the mailbox active with normal correspondence while you clean the source.
Are Zoho limits blocking you?
Zoho may restrict outbound sending after unusual activity. You may see bounces, send failures, admin warnings or an account that cannot send normally. This can happen after sudden volume, suspicious login activity, compromised accounts or policy violations.
Check these areas before you continue sending:
- Zoho Mail web inbox for bounce messages.
- Zoho Mail Admin Console for user or domain alerts.
- Recent login activity for the affected user.
- Campaign tools connected to the mailbox.
- Current Zoho sending limits for your plan.
Zoho publishes sending-limit guidance here: Zoho Mail sending limits. Do not rely on old numbers from blog posts. Check the current limit for your plan and region.
Free-plan access also matters. BobWork Email Warm-up can connect to Zoho Mail through the Zoho Mail API using a Self Client code, and that route works on the free plan. IMAP warm-up needs Zoho Mail Lite or higher.
If Zoho has blocked sending, warm-up is not the fix. Resolve the block first. Lower volume, secure the account, remove the campaign connection if needed and contact Zoho support when the admin console tells you to.
When should you warm up?
Warm-up helps when the mailbox needs a normal sending pattern and positive engagement. It is not a repair tool for broken DNS, bad lists or policy violations.
Use warm-up when:
- The domain is new.
- The Zoho organisation is new.
- A mailbox has been idle.
- You plan to start cold outreach.
- Spam placement appears after a sudden volume increase.
Do not use warm-up as the main fix when:
- SPF fails.
- DKIM is not enabled.
- DMARC fails because of alignment.
- Zoho is blocking outbound mail.
- Your list causes high bounces.
- Your message contains risky links or attachments.
A practical warm-up schedule starts at 3 emails per day, rises by 2 per day and caps at 30 per day. During campaigns, keep warm-up around 10–15 per day and keep real outreach around 30–50 per mailbox per day.
The free pool does this step automatically for Zoho mailboxes connected through the API. It sends plain-text office-style messages between connected warm-up mailboxes (yours only, if you switch the account to a private pool), rescues its own warm-up messages from spam, and measures spam placement directly in the receiving inbox. It does not read or move real mail.
If you want the exact day-by-day ramp, use the email warm-up schedule generator or read the warm-up timeline.
What should you do now?
Work in this order. The fastest fixes come first. Do not rewrite copy while DNS is failing.
| Step | Action | How to verify |
|---|---|---|
| 1 | Send one test email to Gmail and open Show original | Header shows SPF, DKIM and DMARC results |
| 2 | Check SPF at the root domain | One TXT record includes Zoho |
| 3 | Remove duplicate SPF records | SPF checker shows one SPF policy |
| 4 | Enable Zoho DKIM | Zoho selector verifies in DNS |
| 5 | Add DMARC monitoring | _dmarc starts with v=DMARC1; p=none |
| 6 | Check Zoho admin and bounces | No unusual sending block remains |
| 7 | Reduce sending volume | Mailbox stays in a safe daily range |
| 8 | Send a plain-text test | Placement improves without links or tracking |
| 9 | Pause bad lists | Bounces and complaints stop rising |
| 10 | Warm the mailbox gradually | 7-day spam rate trends down |
| 11 | Resume campaigns slowly | Real outreach stays around 30–50/day |
| 12 | Monitor weekly | Authentication passes and replies improve |
Use the email blacklist checker only after the basics pass. Blacklists can matter, but most Zoho spam issues start with authentication, reputation, volume or list quality.
For a broader cause map, keep the spam troubleshooting guide open while you test.
How do you confirm recovery?
You need evidence from headers, Zoho and receiving inboxes. Do not rely on one seed test or one reply.
First, send a fresh message from the affected Zoho mailbox to a Gmail account. In Gmail, open the message, choose Show original and check the authentication results. You want:
spf=passdkim=passdmarc=pass
If SPF passes but DMARC fails, SPF may not align with the visible From domain. If DKIM passes but DMARC fails, the DKIM signing domain may not align. Fix alignment before raising your DMARC policy.
Second, test your real message and a simplified version. If the simplified message reaches the inbox but the real message goes to spam, the issue is probably content, links, tracking or attachments.
Third, watch seven days of results. Look for fewer spam landings, fewer bounces, no Zoho send blocks and more normal replies. If you use warm-up, pause a mailbox above a 5% spam rate for a few days and diagnose before sending campaigns again.
Fourth, check recipient-domain tools where available. If you send meaningful volume to Gmail, use Google Postmaster Tools and keep the complaint rate under 0.1%. Never let it reach 0.3%.
Finally, scale by adding mailboxes, not by forcing one Zoho account to send more. A steady pattern is safer than chasing a high daily limit.
BobWork Email Warm-up is free at emailwarmup.bobwork.ai, with no credit card and up to 20 mailboxes per account. For Zoho, use the API Self Client setup if you are on the free plan, or IMAP if your plan supports it. Start only after SPF, DKIM and DMARC are clean.
Frequently asked questions
Why are my Zoho Mail emails going to spam?
The usual causes are missing SPF, disabled DKIM, no DMARC, a new domain, sudden sending volume, risky content, poor list quality or a Zoho outbound block. Start by checking DNS authentication, then compare your sending volume with your domain age.
What SPF record should I use for Zoho Mail?
For Zoho Mail, the common SPF include is include:zohomail.com, usually in a TXT record at your root domain. You should have only one SPF record per domain. Use Zoho’s admin console as the source of truth for your data centre.
What is the Zoho DKIM selector?
Zoho commonly uses the selector zmail. The DNS host is usually zmail._domainkey, and the value is the DKIM public key Zoho gives you. Do not copy another domain’s key. Generate it inside your own Zoho Mail Admin Console.
Does Zoho Mail warm-up fix spam placement?
Warm-up helps when the problem is a new domain, new mailbox or sudden volume. It does not fix broken SPF, disabled DKIM, a bad list, spam-like content or a Zoho sending block. Fix authentication and limits before warming.
Can I warm up Zoho Mail on the free plan?
BobWork Email Warm-up can connect to Zoho Mail through the Zoho Mail API using a Self Client code, and that works on the free plan. IMAP warm-up needs Zoho Mail Lite or higher if you choose the IMAP route.
How long does Zoho warm-up take?
Use about 14 days for an existing domain and 3–4 weeks for a new domain. Start low, raise gradually and keep real outreach modest. A mailbox is safer when recent spam placement is low and authentication passes.
How do I know the fix worked?
Send test mail and inspect the receiving header. Look for spf=pass, dkim=pass and dmarc=pass. Then watch real replies, bounces and spam placement for at least seven days. If you send to Gmail, keep complaints under 0.1% and never above 0.3%.
Records fixed? Rebuild the reputation
Warm-up is the part you cannot do by hand for two weeks. The free pool sends, replies and rescues from Spam for you.