WooCommerce emails not sending to customers? How to fix it
Updated 10 November 2026 · by Mohamed, Growth with MK
Orders are coming in, but customers say they never got the confirmation, or you've stopped getting "new order" notifications. On WooCommerce this is very common, because WordPress doesn't come with a proper way to send email. Here's how to find the problem and fix it for good.
Step 1: check WooCommerce's own settings
- Go to WooCommerce → Settings → Emails. Make sure each email (Processing order, Completed order, New order) is enabled, and the New order recipient is the right address.
- Check the "From" address on the same page. It should be on your own domain (shop@yourshop.co.uk), never a Gmail or Hotmail address.
- Check the order's notes. WooCommerce adds a note when order status changes, and a stuck status (for example payments left "pending") means the email was never triggered.
Step 2: find out whether WordPress actually sent it
Install an email log plugin, or use the log built into an SMTP plugin. If the email appears in the log as sent but the customer didn't get it, it's a delivery problem (steps 3 and 4). If it never appears, it's a settings, plugin or payment-status problem.
Step 3: stop sending through your web host
By default WordPress hands email to your web host's server with PHP's mail function. Many hosts limit or block this, and even when it works, the host's server usually isn't in your SPF record and can't sign with your DKIM. Gmail, Yahoo and Outlook have all tightened their rules since 2024, so this mail is increasingly junked or rejected.
The fix is an SMTP plugin (WP Mail SMTP, FluentSMTP or Post SMTP, all with free versions) connected to:
- Your mailbox provider (Google Workspace, Microsoft 365, Zoho). This is fine for low volumes, but check the provider's sending limits.
- A transactional email service (for example Brevo, Postmark, Mailgun, SendGrid or Amazon SES). This is better as order volume grows, and most have a free or low-cost tier.
Step 4: authenticate your domain
- Run the free domain check on your shop's domain.
- SPF: one record including your mailbox provider and the transactional service.
- DKIM: add the records the transactional service gives you, and turn DKIM on in your mailbox.
- DMARC:
v=DMARC1; p=none; rua=mailto:you@yourdomain, tightened later. - Test: place a test order with a Gmail address, then Show original. SPF, DKIM and DMARC should all say PASS.
Of 747 UK small-business domains we checked in November 2026, only about 10% had DMARC enforced with SPF and DKIM all in place.
More on the customer side: why customers don't get order confirmation emails. Contact form on the same site? See contact form emails not arriving.
Frequently asked questions
Why are WooCommerce emails reaching me but not customers?
Your own mailbox may trust your server, while Gmail and Outlook don't. Sending through SMTP with SPF, DKIM and DMARC set up fixes the difference.
Do I need a paid SMTP plugin?
No. The free versions of WP Mail SMTP, FluentSMTP and Post SMTP handle WooCommerce emails. Paid tiers add things like detailed logs and alerts.
Can my host's email be enough?
Sometimes, if your host lets you send through an authenticated mailbox on your domain with DKIM. Plain PHP mail without authentication is the most common reason WooCommerce emails go missing.
Will this also fix password reset and contact form emails?
Yes. An SMTP plugin routes all WordPress email, including password resets and most form plugins, through the same authenticated service.
Check your domain in 10 seconds
See your DMARC, SPF, DKIM and MX score out of 10, with fix steps for your email provider.
Run the free check