WooCommerce Order Emails Not Sending? How to Find the Cause and Fix It

An order goes through, the payment clears, and then nothing arrives in the inbox. The customer writes to ask whether the order worked at all, and the store owner is left unsure whether the problem is in WooCommerce, in WordPress, or in the mail system behind them. This is a confusing fault because WooCommerce can look perfectly healthy while the email quietly fails somewhere else.

The good news is that missing order emails usually have a small number of causes, and they can be checked in a sensible order. Start with the email itself and the order status, then move to settings, then to delivery. Changing several things at once makes the real cause harder to find, so work through one check at a time and test after each change that could fix it.

First, work out which email is missing

WooCommerce sends different emails for different events, and they go to different people. Knowing exactly which one is missing narrows the search a great deal.

EmailGoes toWhen it sends
New orderThe store adminAs soon as a new order is placed
Processing orderThe customerWhen payment clears and the order moves to Processing
Completed orderThe customerWhen the order is marked Completed
On-hold orderThe customerWhen an order is waiting for payment, for example with a bank transfer

Ask these questions before changing anything. Is the admin email missing, the customer email missing, or both? Is it one order or every order? Did it work before and stop, or has it never worked? If only the customer email is missing, the admin copy arriving is useful evidence: the store is creating orders and sending mail of some kind, so the problem is more likely in one email setting, one address, or one spam filter than in the whole mail system.

Check the order status before anything else

Open the order in WooCommerce and look at its status. The customer confirmation, the Processing order email, only sends when the order reaches Processing. An order still marked Pending payment has not triggered that email yet, because payment has not been confirmed. That is normal behaviour, not a broken email, and the right fix is to sort out the payment, not the mail settings.

Also check for a Failed status. A failed payment will not produce a normal confirmation either. If the gateway is slow to confirm a payment, the email may simply be delayed until the gateway responds. Give a slow gateway time to settle, then check the order again before assuming the email system is at fault.

Check spam, the address, and the inbox

Store owner checking order emails on a laptop in a bright modern office

Many missing emails are not missing at all. They are sitting in a spam, junk, or promotions folder, or they went to a mistyped address. Ask the customer to search their whole mailbox for the store name or the order number, including spam and junk, and to check any tabs their mail service uses to sort mail.

Then check the address itself. Open the order and compare the billing email with the address the customer actually uses. A single mistyped letter sends the confirmation to the wrong inbox, and no mail setting can fix that. If the address is wrong, correct it on the order where possible, and ask the customer to check the corrected address carefully at checkout next time.

For a missing admin email, check the recipient address in the email settings and the admin inbox with the same care. An admin address that forwards to another mailbox, or a mailbox with strict filtering, can quietly swallow store mail while personal mail arrives normally.

Check the WooCommerce email settings

Go to WooCommerce, then Settings, then Emails. Find the email that is missing and open its settings. First, confirm that the notification is enabled. An email that is switched off will never send, however good the rest of the setup is, and this is an easy setting to miss after an update or a round of changes.

Next, check the recipient for admin emails and the sender details for all store emails. The From address should use your own domain, for example an address at your store domain, rather than a free mailbox address. Mail from a free mailbox address sent through your own site often fails authentication checks at the receiving end, and some providers reject it outright. If the From address and the recipient address are the same mailbox, try a different recipient address for testing, because some mail setups handle same-domain mail in unexpected ways.

Keep a note of what each setting was before you change it. If a change makes things worse, you will want to return to the previous setup without guessing.

Find out whether WordPress can send any email at all

WooCommerce does not send mail by itself. It hands each email to the WordPress mail system, which by default uses the hosting server mail function. If that underlying system is not working, no WooCommerce email will arrive, and WooCommerce itself may show no clear error.

A simple test helps separate a WooCommerce problem from a mail problem. Try a WordPress password reset email to an address you control. If that email also fails to arrive, the problem is in the mail system or the hosting setup, not in one WooCommerce setting. If the password reset arrives but order emails do not, the problem is more likely in the WooCommerce email settings, the order status, or a plugin affecting WooCommerce emails.

WooCommerce also keeps a log of transactional email attempts. Go to WooCommerce, then Status, then Logs, and look for the transactional emails log. An entry marked as sent means WooCommerce handed the email to the mail system. That does not prove delivery to the inbox, but it does tell you WooCommerce tried. If there is no entry at all for the order, WooCommerce did not try to send it, which points back to the email settings or the order status.

Fix delivery with authenticated mail

Business colleagues setting up email delivery on a laptop in a modern office

When WordPress mail itself is unreliable, the usual fix is to send through an authenticated mail service instead of the hosting server default. This is done with an SMTP plugin, which connects WordPress to a real mail provider using login details or an API key from that provider. Widely used SMTP plugins include WP Mail SMTP and FluentSMTP. Choose one, not several at once, because two mail plugins can interfere with each other.

The setup follows the same pattern whichever plugin you use. Install and activate the plugin, choose your mail provider in its settings, enter the connection details exactly as the provider gives them, and set the From address to an address on your own domain. Then use the plugin test email tool to send a test message to an inbox you control. Only when the test message arrives in the inbox, not in spam, should you place a real test order and check that the order emails arrive as well.

Keep the provider details private. Connection details and API keys belong in the plugin settings only, never in a post, a screenshot shared in public, or a support thread where others can read them.

Add domain authentication so mail reaches the inbox

Even with authenticated sending, mail can still land in spam if the sending domain is not properly authenticated. Three records work together here, and each has a plain job. SPF lists which servers are allowed to send mail for your domain. DKIM adds a signature that shows the message was not changed on its way. DMARC tells receiving providers what to do when a message fails those checks, and helps protect your domain from being spoofed.

Your mail provider will give you the exact records to add, and you add them in the DNS settings where your domain is managed, usually at your domain registrar or your hosting account. Copy the records exactly, and allow time for them to spread across the internet before judging the result. Copying records from another site, or from a guide for a different provider, will not work, because the records must match your own domain and your own provider.

If DNS records feel unfamiliar, this is a sensible point to ask for help rather than guessing. A wrong DNS change can affect more than email, so change one record at a time and keep a note of what was there before.

Check for a plugin or theme conflict, safely

A plugin that changes emails, a security plugin that blocks outgoing mail, or a recent update can stop order emails without any obvious error. Email customiser plugins are a common suspect, because they take over how WooCommerce emails are built, but any recently changed plugin is worth considering.

Test for a conflict on a staging copy of the site first, not on the live store during a busy period. On staging, switch off the suspected plugins one at a time and place a test order after each change. When the emails start arriving, you have found the likely cause. Then decide whether to keep that plugin off, look for a replacement, or ask its support team about the conflict. Making a backup before changing plugins on a live site is good practice, and it gives you a safe way back if a change causes a new problem.

Also check that WooCommerce, WordPress, and the theme are up to date, and test again after updates. An outdated template or an old plugin version can break an email that used to work, and an update can quietly fix it. Keeping updates, backups, and routine checks on a regular schedule is the core of our WordPress maintenance plans.

When the problem is with the host or the gateway

Some causes sit outside WooCommerce entirely. A host may block the default server mail function to fight spam, in which case authenticated sending through an SMTP provider is the practical answer. A payment gateway that is slow to confirm payments will delay the Processing email until it responds. A mail server with a poor reputation may have its mail filtered by large providers even when everything on the site is set up correctly.

When you contact your host, give them useful detail: which email is missing, one order number, the time the order was placed, and what the transactional email log shows. That helps them check their own logs instead of starting from scratch. If the host confirms a block or a reputation problem, authenticated sending and proper domain authentication are still the steps that help store mail reach the inbox.

A checklist to run in order

  1. Identify which email is missing, and whether it affects the admin, the customer, or both.
  2. Check the order status. Pending payment and Failed orders do not trigger a normal confirmation.
  3. Check spam, junk, and promotions folders, and confirm the billing and admin addresses are correct.
  4. Confirm the email is enabled in WooCommerce, then Settings, then Emails, and check the From address.
  5. Test whether WordPress mail works at all with a password reset email.
  6. Check the WooCommerce transactional email log to see whether WooCommerce tried to send.
  7. Set up authenticated sending with one SMTP plugin and one mail provider, then send a test email.
  8. Add the SPF, DKIM, and DMARC records your provider gives you, exactly as given.
  9. Test for a plugin conflict on staging, one plugin at a time, with a test order after each change.
  10. Place a real test order and confirm the admin and customer emails arrive in the inbox.

Frequently asked questions

Why does the admin get the new order email but the customer gets nothing?

These are separate emails with separate settings. Start by checking the order status, because the customer confirmation only sends when the order reaches Processing, then check that the Processing order notification is enabled and that the customer address is correct. If the admin email arrives, the mail system is working at some level, so the cause is more likely one of those settings than a total mail failure.

Why does the customer get an email but the admin does not?

Check the recipient address on the New order email in WooCommerce, then Settings, then Emails. An admin address that is mistyped, that forwards elsewhere, or that sits behind strict filtering will miss store mail while customer mail arrives normally. Try a different recipient address for testing to separate an address problem from a sending problem.

The order is Processing but no email arrived. What now?

Check spam and the billing address first, then confirm the Processing order notification is enabled. Then check the transactional email log. If WooCommerce shows the email as sent, the problem is in delivery or filtering, and authenticated sending with domain authentication is the next step. If there is no log entry, WooCommerce did not try, so return to the email settings and the order itself.

Why do order emails always land in spam?

Mail landing in spam usually points to authentication or sender reputation, not to WooCommerce itself. Use a From address on your own domain, send through an authenticated provider, and add the SPF, DKIM, and DMARC records your provider gives you. Also ask customers to mark a genuine order email as not spam, which helps their own mailbox learn to trust future mail from your store.

Do I need an SMTP plugin if emails used to work?

Not always. If a setting was switched off, an address changed, or a plugin update broke something, fixing that may be enough. But if WordPress mail itself has become unreliable, or if mail keeps landing in spam, authenticated sending is the reliable fix, because it replaces an unauthenticated default with a login that receiving providers can trust.

Conclusion

Missing WooCommerce order emails feel alarming, but they reward a calm, ordered approach. Work out which email is missing, check the order status and the addresses, confirm the email is enabled, find out whether WordPress mail works at all, and only then move to authenticated sending and domain authentication. Test after each change that could fix the problem, and keep a note of what you changed. That way, when the next order comes through, you will know the confirmation reached the people who need it.

If email trouble keeps coming back, or if the fix involves DNS records and mail providers you would rather not touch alone, Raozan IT can help. Our team builds and looks after WooCommerce stores: new store builds are covered by our WooCommerce development work, and regular store care, including update and email checks, is part of our WooCommerce maintenance work. You can see the full range of help available on our services page. You can also read our WordPress maintenance checklist for the routine that keeps a site, including its email, in good shape. For a store build or a care plan, talk to us through WhatsApp on +8801735127127, through the contact page, or by email at [email protected]. For more on how store emails are meant to work, see the official WooCommerce email settings documentation and the WooCommerce email troubleshooting documentation.

Scroll to Top