Email Deliverability15 min read

Complete WordPress Email Deliverability Guide

From Zero to 99% Inbox Placement: Fix your WordPress emails going to spam once and for all.

VS
Varun Sharma
Founder, Authority Plugins
Updated: November 30, 2025

1. Why WordPress Emails Fail to Deliver

If you're reading this, you've probably experienced the frustration of WordPress emails not reaching their destination. Maybe your WooCommerce order confirmations are going to spam, password reset emails never arrive, or contact form submissions disappear into the void.

Emails getting lost or going to spam

Here's the uncomfortable truth: By default, WordPress uses PHP's mail() function to send emails. This method was designed decades ago for simple server-to-server communication, not for modern email deliverability requirements.

The PHP mail() Problem

When WordPress uses PHP mail(), your emails are sent directly from your web server. This creates several critical issues:

  • No Authentication: Emails lack SPF, DKIM, and DMARC authentication that modern email providers require
  • Shared IP Reputation: Your web server's IP address likely has poor email reputation (shared hosting means shared reputation)
  • No Feedback Loop: When emails fail, you get no notification or error message
  • Spam Filter Triggers: Email providers increasingly flag unauthenticated emails as spam or reject them entirely
  • Inconsistent Delivery: Some hosts disable PHP mail() entirely for security reasons

The 2024 Reality Check

Gmail and Yahoo implemented strict new email authentication requirements in February 2024. Emails without proper SPF and DKIM authentication are now more likely than ever to be rejected or sent to spam. Using PHP mail() is no longer viable for any site that depends on email communication.

Common Symptoms of Email Delivery Issues

How do you know if your WordPress site has email delivery problems? Look for these warning signs:

  • Customers say they didn't receive order confirmations (check their spam folder first)
  • Password reset emails never arrive
  • Contact form submissions seem to disappear
  • User registration emails aren't being received
  • Scheduled notifications and digests don't send
  • Your test emails work, but customer emails fail (different spam filter behavior)

2. Understanding SMTP and Why You Need It

SMTP (Simple Mail Transfer Protocol) is the standard protocol for sending emails across the internet. When you use an SMTP service instead of PHP mail(), you're routing your emails through servers specifically designed and optimized for email delivery.

SMTP - Your dedicated email delivery service

How SMTP Changes the Game

Think of it like this: sending email with PHP mail() is like handing a letter to a random stranger and hoping they deliver it. Using SMTP is like using FedEx - a dedicated delivery service with tracking, confirmation, and accountability.

PHP mail() vs. SMTP Comparison

PHP mail()
  • • No authentication
  • • Poor IP reputation
  • • No delivery tracking
  • • Silent failures
  • • No retry mechanism
  • • May be disabled by host
SMTP Service
  • • Full authentication (SPF, DKIM)
  • • Dedicated sending IPs
  • • Complete delivery logs
  • • Error notifications
  • • Automatic retry on failure
  • • Works everywhere

Types of SMTP Integration

There are several ways to connect WordPress to an SMTP service:

  1. Traditional SMTP: Connect using host, port, username, and password. Works with any email service but typically slower and more prone to timeout issues.
  2. API-based sending: Direct integration with the provider's API. Faster, more reliable, and includes better error handling. Most modern providers support this.
  3. OAuth 2.0: Secure token-based authentication used by Gmail and Microsoft 365. No passwords stored, tokens refresh automatically.

Our Recommendation

Whenever possible, use API-based integration. It's faster, more reliable, and provides better error handling than traditional SMTP. Most quality WordPress SMTP plugins (including Authority Mailer SMTP) support API connections for major providers.

3. Email Authentication: SPF, DKIM, and DMARC

Email authentication is the foundation of good deliverability. These three protocols work together to prove that emails claiming to be from your domain are actually authorized to send on your behalf.

Email authentication protects your sender reputation

SPF (Sender Policy Framework)

SPF is a DNS record that lists which servers are allowed to send email for your domain. When a receiving server gets an email from "yoursite.com", it checks the SPF record to verify the sending server is authorized.

# Example SPF record for SendGrid

v=spf1 include:sendgrid.net ~all

DKIM (DomainKeys Identified Mail)

DKIM adds a digital signature to your emails that proves they haven't been tampered with in transit. The receiving server uses a public key in your DNS to verify the signature.

Setting up DKIM typically involves adding one or more TXT records to your DNS that your email provider gives you. Each provider has different key formats, but the concept is the same.

DMARC (Domain-based Message Authentication)

DMARC ties SPF and DKIM together and tells receiving servers what to do when authentication fails. It also provides reporting so you can monitor your email authentication status.

# Basic DMARC record

v=DMARC1; p=quarantine; rua=mailto:dmarc@yoursite.com

Authentication Checklist

  • SPF record includes your email provider
  • DKIM keys added to DNS
  • DMARC policy set (start with "none" then move to "quarantine")
  • All records verified using online tools
  • Test emails passing authentication checks

4. Choosing the Right Email Provider

With dozens of email providers available, choosing the right one can feel overwhelming. Here's our framework for making the decision:

Factors to Consider

  1. Volume and Cost: How many emails do you send monthly? Free tiers range from 100/day (SendGrid) to 6,000/month (Mailjet). Calculate your needs before committing.
  2. Deliverability Reputation: Established providers like SendGrid, Postmark, and Mailgun have built strong reputations and relationships with major email providers.
  3. Integration Ease: Does your WordPress SMTP plugin support the provider? API integration is preferred over basic SMTP when available.
  4. Features: Do you need analytics, templates, webhooks, or dedicated IPs? Match features to your requirements.
  5. Support: What level of support do you need? Some providers offer excellent documentation, others provide hands-on support.

Provider Recommendations by Use Case

Small Sites / Personal Blogs

SendGrid (100/day free), Gmail (500/day), or Brevo (300/day free)

E-commerce / WooCommerce

SendGrid, Mailgun, or Postmark for fast, reliable transactional emails

High Volume / Enterprise

Amazon SES ($0.10/1000), SparkPost, or SendGrid with dedicated IP

European / GDPR Compliance

Brevo, Mailjet, or Mailgun EU region for data residency requirements

5. Step-by-Step Setup Guide

Here's the general process for setting up proper email delivery on WordPress. The specific steps vary by provider, but the overall workflow is the same.

1

Choose and Sign Up with a Provider

Create an account with your chosen email provider. Most offer free tiers or trials.

2

Verify Your Domain

Add the SPF and DKIM records your provider gives you to your domain's DNS.

3

Get Your API Key or Credentials

Generate an API key or note your SMTP credentials from the provider's dashboard.

4

Install and Configure Your SMTP Plugin

Install a WordPress SMTP plugin, select your provider, and enter your credentials.

5

Send a Test Email

Use the plugin's test email feature to verify everything is working correctly.

6

Monitor and Verify

Check email logs and use tools like mail-tester.com to verify authentication.

6. Monitoring and Maintaining Deliverability

Setting up SMTP is just the beginning. To maintain high deliverability, you need ongoing monitoring and maintenance.

Key Metrics to Track

  • Delivery Rate: Percentage of emails successfully delivered (aim for 99%+)
  • Bounce Rate: Hard and soft bounces (keep under 2%)
  • Spam Complaints: Users marking your emails as spam (keep under 0.1%)
  • Open Rate: If tracking, indicates inbox placement (varies by email type)

Tools for Monitoring

  • Email Provider Dashboard: Most providers show delivery stats, bounces, and complaints
  • WordPress Plugin Logs: View every email sent from your site with status
  • Mail-tester.com: Send a test email to check your spam score
  • MXToolbox: Verify your DNS records are correctly configured
  • Google Postmaster Tools: If sending to Gmail, see reputation and delivery data

7. Troubleshooting Common Issues

Emails still going to spam

Check: Is domain authentication (SPF, DKIM) properly set up? Use mail-tester.com to diagnose.

Fix: Add or correct your DNS records. Wait for propagation (up to 48 hours).

Test email fails with authentication error

Check: Are your API key or SMTP credentials correct? Did you enable the right permissions?

Fix: Generate a new API key with correct permissions. Double-check for copy/paste errors.

Connection timeout errors

Check: Is your web host blocking outbound SMTP connections on the required port?

Fix: Use API integration instead of SMTP, or contact your host to unblock the port.

Emails working for some recipients but not others

Check: Are specific domains (like corporate email) blocking you? Check bounce messages.

Fix: Ensure full authentication, consider a dedicated IP for higher reputation.

8. Email Deliverability Best Practices

Best Practices

  • Use a reputable SMTP service with proper authentication
  • Set up SPF, DKIM, and DMARC for your sending domain
  • Use a consistent "From" name and email address
  • Monitor your email logs regularly for delivery issues
  • Keep your email list clean (remove bounces promptly)
  • Use clear, relevant subject lines that match your content
  • Include a plain text version of HTML emails
  • Make it easy for recipients to contact you if needed

Common Mistakes to Avoid

  • Don't use PHP mail() for any production emails
  • Don't send from a free email address (@gmail.com, @yahoo.com)
  • Don't send emails to purchased or scraped lists
  • Don't use misleading subject lines or sender names
  • Don't ignore bounce messages - they indicate problems
  • Don't send too many emails too quickly (respect rate limits)
  • Don't use URL shorteners in transactional emails

Ready to Fix Your WordPress Email?

Implementing proper email delivery doesn't have to be complicated. With the right SMTP plugin and email provider, you can have reliable email delivery set up in under 5 minutes.