WordPress emails going to spam: the short answer
If your WordPress site's emails — contact form notifications, password resets, WooCommerce order confirmations, comment alerts — keep landing in the spam folder (or never arrive at all), the cause is almost always the same one. WordPress sends mail through the built-in PHP mail() function by default, which means your emails leave from your web hosting server with no authentication, no reputation, and a shared IP that has been used by thousands of other sites — many of them spammy. Modern spam filters trash that profile on sight. The fix is to route your WordPress mail through a real SMTP service that signs your messages, sends them from a clean IP, and authenticates your domain properly. This guide walks through why it happens, how to confirm it is the cause, and the exact 5-step fix.
Key takeaways
-
WordPress's default
wp_mail()uses PHPmail(), which sends from your web host with no SPF, DKIM, or DMARC authentication. - Gmail, Outlook and Yahoo now require authenticated mail (especially for bulk and transactional senders). Unauthenticated WordPress email is treated as suspicious by default.
- The fix is to install an SMTP plugin, point it at a real SMTP service, and configure SPF, DKIM, and DMARC on your domain.
- WooCommerce stores are hit hardest, because lost order confirmations and password resets cost real revenue and create support tickets.
- A dedicated SMTP service like Mailpro, with a clean sender IP and Swiss-hosted infrastructure, fixes the deliverability problem and adds GDPR-friendly hosting for EU sites.
Why are my WordPress emails going to spam?
The short answer: because your web hosting server is not a real email sender, and spam filters know it. There are four specific reasons:
- No authentication. WordPress's default mail function does not sign your messages with DKIM, does not align with your SPF record, and has nothing to do with DMARC. Gmail, Yahoo and Outlook see an unsigned message from a server that is not in your domain's SPF and quietly send it to spam — or reject it outright. (For the full background, see our guide to what SPF is and how to prevent email spoofing.)
- Shared hosting IP reputation. Your hosting provider's mail server is shared with hundreds or thousands of other sites. If even a handful of them send spam, the whole IP picks up complaints, and your perfectly legitimate password reset gets caught in the same net.
-
"From" address mismatch. WordPress defaults to
[email protected], but the email is actually sent by your hosting server (let's say it's a server at WP Engine, SiteGround or Bluehost). The receiving inbox sees a domain mismatch between the From header and the actual sending server, which is exactly what phishing looks like. - 2024 sender rule changes. Gmail and Yahoo introduced strict new requirements in 2024: proper authentication (SPF + DKIM + DMARC), a one-click unsubscribe for bulk senders, and a hard cap on spam complaints. WordPress's out-of-the-box setup fails on all three. (We covered the full picture in our breakdown of the new Gmail and Yahoo requirements.)
None of this is WordPress's fault, exactly — PHP mail() was a sensible default in 2003. It is no longer 2003.
How do I check whether my WordPress emails are actually being filtered?
Before you spend an afternoon on configuration, confirm the diagnosis. Five quick checks:
- Send a test email to yourself. Use a contact form or WooCommerce "test order" pointed at a Gmail address you control. If it lands in spam, you have your answer. If it does not arrive at all, the situation is worse: your host is silently dropping mail.
-
Check the headers. Open the email in Gmail and click "Show original." Look at the
Authentication-Resultsline. If you seespf=fail,dkim=noneordmarc=fail, the problem is confirmed. - Test multiple inboxes. Repeat with an Outlook/Hotmail address and a Yahoo address. Outlook is the strictest inbox in the world — if it filters you, the whole web is filtering you.
- Check WordPress's email log. Most SMTP plugins (and tools like WP Mail Logging) log every outgoing message. If outgoing mail shows as "sent" but never arrives, the filter is downstream. If it shows as "failed," your host blocked it.
-
Look at the From address. Settings like
[email protected]from a contact form plugin are a classic red flag. Real, monitored sender addresses on your domain perform better.
How to fix WordPress emails going to spam (5 steps)
The fix is to stop using PHP mail() and start sending through a proper SMTP service that authenticates your messages and uses a clean sender IP. The full sequence:
-
Install an SMTP plugin. The popular and well-maintained options are WP Mail SMTP, FluentSMTP, and Post SMTP. Any of them will intercept WordPress's mail calls and route them through an external SMTP server instead of PHP
mail(). Install, activate, and open the settings. -
Connect the plugin to a real SMTP service. Inside the plugin, choose "Other SMTP" or the equivalent and enter your SMTP service's hostname, port (usually 587 with TLS), username and password. (Our companion piece on the best SMTP server for WordPress covers the trade-offs between providers.) Set the From address to a real, monitored mailbox on your domain — not
[email protected]. - Add SPF, DKIM and DMARC records to your domain. These three DNS records are what proves to receiving inboxes that the SMTP service is allowed to send mail for your domain. Your SMTP provider will give you the exact values to add at your DNS host (Cloudflare, your registrar, or your hosting control panel). Mailpro provides one-click SPF configuration, DKIM signing, and a DMARC record with a clear UI and copy-paste values.
-
Send a test and verify the headers. Send a test from the SMTP plugin to a Gmail address you control. Open the message, click "Show original," and confirm
spf=pass,dkim=pass, anddmarc=passon the Authentication-Results line. If anything still fails, fix that one record before moving on. - Warm up and monitor. Run for two weeks while you watch bounces and complaints. If you are a high-volume sender — a WooCommerce store with thousands of order confirmations a day, or a membership site — give your sending reputation time to build by sending steady volume rather than huge bursts. Our broader email deliverability guide covers warm-up and reputation in detail.
If your WordPress site sends customer-facing email — orders, receipts, password resets — the cost of routing it through your hosting server is paid in lost revenue and support tickets. Explore Mailpro SMTP for an authenticated, deliverability-first send path.
Why a real SMTP service fixes this for good
An SMTP plugin alone is half the answer. The other half is what is on the other end of the connection — the actual sending infrastructure. A dedicated SMTP service solves the deliverability problem in three ways your hosting cannot:
- Clean sender IP. A reputable SMTP sending server only allows authenticated, accountable senders, so the IP keeps its good reputation over time. Your WordPress mail leaves from an address inboxes already trust.
- Automatic authentication. SPF, DKIM and DMARC are configured once at the DNS level and applied to every message automatically. You do not have to babysit headers per plugin.
- Visibility. You actually see what happened: delivered, bounced, complained, opened. Your hosting's mail logs (if you can even find them) tell you almost nothing. Real visibility means real control over avoiding spam folders.
Mailpro adds two further benefits that matter for serious WordPress sites: Swiss-hosted infrastructure under EU and Swiss privacy law, and a GDPR-aligned platform — useful if your WordPress site collects customer data (which most do), and especially useful for WooCommerce stores in the UK, EU and Switzerland.
WordPress + WooCommerce: the extra deliverability tax
WooCommerce sites have the most to lose from this problem because every undelivered email is a real-world business consequence:
- Order confirmations in spam mean customers think the order failed and either re-buy (duplicate orders, support ticket) or open a chargeback.
- Password resets in spam block returning customers from checking out. They abandon the cart.
- Shipping notifications in spam create "where is my order" tickets a week later.
- Abandoned-cart and marketing emails in spam silently zero out your email-driven revenue, and you may not notice for months.
The 5-step fix above is the same; the urgency is higher. For a deeper look at sending reliably at WooCommerce volume, our piece on passing anti-spam filters and delivering email better covers the next layer (dedicated IP, list hygiene, complaint monitoring).
Frequently asked questions
Why do my WordPress emails go to spam in Gmail specifically?
Because Gmail's 2024 sender rules require SPF, DKIM and DMARC authentication for any sender of meaningful volume, plus a low spam complaint rate. WordPress's default PHP mail() meets none of those requirements, so Gmail's filters treat it as suspicious. Configuring an SMTP service with SPF/DKIM/DMARC fixes the cause, not just the symptom.
Do I need an SMTP plugin or can I just use WordPress's built-in mail?
For any production site, you need an SMTP plugin. WordPress's built-in wp_mail() falls back to PHP mail(), which sends unauthenticated mail from your hosting server. That is the root cause of most WordPress deliverability problems. An SMTP plugin (WP Mail SMTP, FluentSMTP, Post SMTP) routes mail through a real, authenticated SMTP service instead.
What is the best SMTP service for WordPress?
The best SMTP service for WordPress is one with clean sender IPs, easy SPF/DKIM/DMARC setup, deliverability visibility and a sane pricing model. Mailpro fits all four, with the additional benefit of Swiss-hosted infrastructure and GDPR-aligned data handling. Our full comparison is in the guide to the best SMTP server for WordPress.
Why are my WooCommerce order confirmations going to spam?
Same cause as any other WordPress email — they are sent unauthenticated through your hosting server's mail function and fail modern spam-filter checks. WooCommerce makes the problem more visible because the missed emails directly correspond to confused customers and lost revenue. Routing WooCommerce through an authenticated SMTP service is the same fix as for any other WordPress site.
Will fixing SPF, DKIM and DMARC stop my WordPress emails from going to spam?
It is the largest single factor and usually solves 70 to 90 percent of the problem. The remaining factors are your sender IP reputation (which improves when you stop sending from a shared hosting IP) and your content (avoiding spam-trigger language and image-only emails). Authentication first, sender reputation second, content third.
Mailpro and WordPress email
WordPress email that actually reaches the inbox
Connect your WordPress or WooCommerce site to Mailpro SMTP for authenticated sending, one-click SPF/DKIM/DMARC, and Swiss-hosted reliability — so contact forms, password resets and order confirmations stop disappearing.