Setting up WordPress email on Indian infrastructure (without losing mail)
A practical guide to setting up transactional + marketing email for a WordPress site hosted on Indian infrastructure. Covers SMTP, MX records, DMARC, and how to keep deliverability high.
WordPress doesn’t ship an SMTP server — it relies on
the PHP mail() function by default, which on a
container host either doesn’t work or sends through
the host’s default MTA with poor deliverability. This
post walks through the practical setup for a WordPress
site hosted on our Apps T2-T10 plans.
Step 1: Pick a transactional email provider
We don’t ship email in v1 (per AGENTS.md 2.2 the R220 email product was deleted in the marketing-only cut). For transactional email, we recommend:
- Zoho ZeptoMail (Indian, INR billing, SMTP + API) for transactional + bulk marketing at 1-2 paisa / email.
- Amazon SES for high-volume transactional (50K+ emails / month) at $0.10 per 1000.
- Brevo (ex-Sendinblue) for transactional + marketing at the $9 / month starter tier.
The rest of this guide assumes you picked one and have your SMTP credentials.
Step 2: Configure DNS
Add the SPF + DKIM + DMARC records your provider gives you. For Zoho, the records are:
@ IN TXT "v=spf1 include:zoho.com ~all"
zmail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSq..."
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:hello@..."
In our hosting dashboard, paste these into the DNS management for your domain. Propagation is 5-30 minutes for SPF + DKIM; DMARC can take up to 24 hours to be picked up by some receivers.
Step 3: Configure WordPress
Install the WP Mail SMTP plugin (free on the WordPress plugin repo). Go to Settings → Email and:
- From Email:
hello@yourdomain.com - From Name: Your site name
- Mailer: Other SMTP
- SMTP Host:
smtp.zoho.in - Encryption: TLS
- SMTP Port: 587
- Auto TLS: On
- Authentication: On (username = your Zoho address, password = app password)
Click Save, then go to the Email Test tab and send a test email to yourself. If the SMTP credentials are right
- the DNS records propagated, you should receive it within a minute.
Step 4: Verify deliverability
Free tools to verify:
- mail-tester.com (score 10/10 is perfect)
- mxtoolbox.com (DMARC + DKIM + SPF check)
- Google Postmaster Tools (after sending >100 emails)
Common issues:
- DMARC
p=quarantineis the default. Bump top=rejectonce your DKIM + SPF alignment is consistent. - Some Indian ISPs (BSNL, MTNL) have aggressive spam filters. Use a transactional provider that warms IPs (Zoho + SES do this).
- WordPress contact-form plugins (CF7, WPForms) need
SMTP configured separately from WP_Mail_SMTP. The
WP_Mail_SMTP plugin handles both via the
wp_mailfilter.
Once you’ve sent a few hundred emails with a clean DMARC + DKIM alignment, you’ll be in good shape for Indian inbox delivery.