If your WooCommerce store processes orders normally but the confirmation emails never show up — no errors, no warnings, just silence — you're dealing with one of the most common "invisible" WooCommerce issues.
The real cause
WooCommerce doesn't send emails itself. It hands the job to WordPress's wp_mail() function, which by default uses PHP's mail() function. That function has no authentication built in, and most modern hosting either throttles it or blocks it outright to fight spam abuse. The email request can fail completely, and nothing in your WordPress dashboard will tell you.
Quick checks first
Before changing any settings:
- Check the customer's spam folder (resolves more cases than you'd expect)
- Confirm the relevant email type is enabled under WooCommerce → Settings → Emails
- Test the WordPress password-reset email — if that also fails, the problem is server-wide, not WooCommerce-specific
The actual fix: SMTP
PHP's mail() sends with no authentication, so receiving servers like Gmail and Outlook often reject or spam-filter it. Switching to SMTP through a real provider (Gmail SMTP, Brevo, Amazon SES, SendGrid) fixes this by authenticating every send.
- Install a free SMTP plugin (WP Mail SMTP or FluentSMTP)
- Connect it to a transactional email provider — Brevo's free tier (~300/day) is a solid choice for small stores
- Add the SPF/DKIM DNS records your provider gives you (this is what actually fixes spam-folder issues, not just the SMTP connection)
- Send a test email, then place a real test order to confirm
If emails send but land in spam
That's a deliverability problem, not a sending problem. Add SPF + DKIM DNS records, send from a domain email address (not a generic Gmail address), and add DMARC once those are confirmed working.
FAQs
Do I need a paid plugin? No — free SMTP plugins paired with a free-tier provider like Brevo cover most small-to-medium stores.
How do I know if it's WooCommerce or hosting? Test the WordPress password-reset email. If that fails too, it's server-wide.
Can a security plugin block emails? Occasionally — some aggressive firewall plugins strip email headers. Worth testing with it briefly disabled.
Will SMTP alone fix spam-folder issues? It helps a lot, but full deliverability also needs SPF/DKIM DNS records and a proper sending domain.
Full step-by-step guide with all the edge cases (delayed emails, plugin conflicts, WP-Cron issues) is on the original post.
Top comments (5)
Good point that SPF and DKIM are what fix the spam folder. Two ways that step fails quietly: adding the provider's include as a second v=spf1 record instead of merging it into the existing one, and ending up over the 10 DNS lookup limit, both of which make SPF return permerror.
Exactly, thanks for adding this! Those two are the most common silent failures I see too. A second v=spf1 record instead of merging is a classic one, and the 10-lookup limit gets hit fast when someone stacks Google Workspace, a marketing tool, and an SMTP provider. A quick check with an SPF validator (MXToolbox or dmarcian) shows the permerror right away. If anyone's stuck, SPF flattening or dropping unused includes usually fixes it.
Agreed. Merging SPF records and watching the lookup limit are the practical fixes.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.