Website fixes · Guide
WooCommerce Not Sending Order Confirmation Emails
By Paul Walsh Updated 4 min read
One of the most common WooCommerce problems small business owners contact me about is emails not being delivered: order confirmations, shipping notifications and new order alerts. Customers place an order and hear nothing, then email to ask whether it went through. You place a test order and nothing arrives.
The good news is that it's almost always one of a handful of causes, and you can check most of them yourself in ten minutes. Work through them in this order.
First, work out which kind of problem it is
There are two very different problems that look the same from the outside:
- WooCommerce never sent the email. Something about the order or the settings meant the email was never triggered.
- WooCommerce sent it, but it never arrived. The email left your site and was blocked, binned or sent to spam on the way.
The quickest way to tell them apart is an email log. Install a free email logging plugin, such as the log feature in WP Mail SMTP, and place a test order. If the email appears in the log, WordPress sent it and the problem is delivery. If it doesn't, WooCommerce never triggered it, and the problem is in the store.
If the email was never sent
The email type is switched off. Go to WooCommerce, Settings, Emails. Each email, such as "Processing order", "Completed order" and "New order", can be turned on or off individually. Check the one you expect is enabled, and that the "New order" email has the right recipient address for you.
The order never reached the right status. WooCommerce sends emails when an order changes status. The customer's "order confirmation" is really the "Processing order" email, sent when the order moves to processing after payment. If orders are stuck on "Pending payment", that email never goes. That usually means the payment provider isn't telling your site the payment succeeded, which is a payment problem, not an email one. See how to fix WooCommerce payments not working.
Bank transfer orders. Orders paid by bank transfer go "On hold" rather than "Processing", so customers get the on-hold email instead. If you've customised or switched off that email, those customers hear nothing.
A plugin is interfering. Plugins that change emails, such as email customisers, order status plugins and some multi-currency or subscription plugins, can stop the normal emails being sent. If it started after installing or updating one, that's your suspect.
If the email was sent but didn't arrive
This is the more common case, and the cause is nearly always the same: your site is sending email the basic way.
WordPress sends email badly by default. Out of the box, WordPress sends mail using your web server's own mail function. Many hosts restrict it, and even when it works, the messages often aren't properly authenticated, so Gmail, Outlook and others treat them as suspicious. They end up in spam or are rejected without anyone being told.
The fix is a proper mail service. Install an SMTP plugin, such as WP Mail SMTP or FluentSMTP, and connect it to a transactional email service, such as Brevo, Mailgun, Postmark or your own business email account. Your store's emails then go through a real mail server that's set up to be trusted. For more detail, see why WordPress isn't sending emails.
Your domain needs SPF, DKIM and DMARC records. These are settings on your domain that prove your emails are really from you. The big email providers have tightened their rules, and mail from a domain without them is far more likely to be binned. Your mail service will tell you exactly which records to add to your domain's DNS.
The "from" address doesn't match. If your store sends emails "from" a Gmail or Hotmail address, but they actually leave from your website, they fail the checks above almost every time. Send from an address on your own domain, such as orders@yourshop.co.uk.
The customer typed their address wrongly. It sounds obvious, but check the address on the order. "gmial.com" and missing letters are more common than you'd think.
Quick checklist
- Email type enabled in WooCommerce, Settings, Emails
- Test order placed with an email log running
- Orders reaching "Processing", not stuck on "Pending payment"
- SMTP plugin connected to a proper mail service
- SPF, DKIM and DMARC records on your domain
- Emails sent from an address on your own domain
- Spam folders checked, and a test sent to Gmail and Outlook
Why it matters more than it seems
Missing order emails cost more than a few worried messages. Customers who don't get a confirmation are more likely to place a second order by mistake, ask for a refund, or not come back. Missing "New order" alerts mean orders sit unnoticed. If your store relies on email, it's worth testing it every month, especially after updates.
If you've been through the list and emails still aren't arriving, or you'd rather not touch DNS records yourself, it's a job I fix regularly as part of WooCommerce fixes, with the price agreed before I start.
About Paul Walsh
Developer based in Blackburn with 25+ years in electronics and tech. I've run online businesses of my own, and now build and fix websites for small businesses across the UK.