Religh

WooCommerce Order Emails Not Sending

When WooCommerce order emails are not sending, check the trigger, notification settings, mail handoff and delivery in that order. A Sent status and an email in the customer’s inbox are different checks.

Read the guide
Fixes4 min read
The Religh raccoon sorts three plain envelopes between two supported trays beside a parcel.
Search Field Notes

A useful next read.

36 field notes

All Field Notes

Identify the missing email and its trigger

Start with the message type: new-order notification to staff, processing-order email to the customer, refund notice or something else. Check which event should trigger it and whether the relevant order reached that state. A payment accepted by the provider may not yet have updated the WooCommerce order.

Use one safe test order and an agreed recipient. If the trigger never happened, investigate the order or payment path first. Resending a message may help the immediate customer request, but it does not explain why future orders would miss the same trigger. WordPress password resets and admin emails also have a different path from WooCommerce transactional messages.

Review the email settings in WooCommerce

Open WooCommerce → Settings → Emails and select the notification being checked. Confirm it is enabled and, for staff notifications, that the intended recipients are configured. Review the sender details and any extension that adds or replaces that email type.

Use a From address on the business’s own domain with the mail provider’s supported configuration. A public mailbox address used as the sender can conflict with the way the website sends mail. Check custom templates when content is wrong, but do not start by redesigning the template if the store never tried to send the message.

Where an order email can get stuck

Follow the message from the order event to the receiving mailbox.

  1. Order event

    Confirm that the order reached the state that should trigger this notification.

    Expected email type
  2. Email attempt

    Check notification settings and the relevant transactional-email entry.

    Enabled and generated
  3. Mail service

    Trace the message handoff and any provider rejection or queue.

    Transport evidence
  4. Receiving inbox

    Check the test mailbox and filtering after reviewing delivery evidence.

    Receipt checked separately

Check the transactional-email attempt

Current WooCommerce documentation describes a transactional-emails source under WooCommerce → Status → Logs. For the installed version, review the entry for the controlled test and the relevant order notes. A Sent result indicates a successful handoff to the site’s mail system. Failed, Disabled and Skipped results point to different next checks.

If the expected entry is absent, check the installed version, log settings and any fatal error affecting the order transition. Logging may hide lower-level entries. Keep detailed diagnostics private and limited to the relevant attempt. An empty view is a reason to inspect the trigger and configuration, rather than proof that nothing happened anywhere in the mail system.

Three plain server towers with attached cables and small lime indicators in a black studio.

Follow the message through the mail provider

Once the website has handed off the message, trace it in the mail provider’s logs. Check whether it was accepted, queued, rejected or reported as delivered. Then confirm the controlled inbox, including spam or filtering. Provider delivery can mean acceptance by the recipient’s server rather than placement in the inbox.

Check domain authentication and sending setup against the mail provider’s instructions. Installing an SMTP plugin can change transport, but it does not fix a disabled notification, a missing order event or every recipient filter. Use the result from the specific message to decide whether the next action belongs to the store, host, mail service or recipient-side system.

Verify the message as well as the send

With the sending path working, inspect the test email’s subject, sender, recipient, totals and useful links. Account and order links should lead to the intended store. After a migration or staging test, check that the message does not contain a staging host or expose order information through an incorrect link.

Test any template or extension change on an isolated copy with controlled recipients. Keep staging from emailing real customers or triggering fulfilment. Record the cause, change and delivery evidence, with temporary logging cleaned up afterwards. That gives the next missing-email report a clear starting point and avoids promising inbox placement that the store cannot control.

The Religh raccoon talks on a phone in a black studio.

Common questions

Why do paid orders sometimes have no confirmation email?

Check the WooCommerce order state and enabled notification first. If the provider accepted payment but the store did not process the transition, the payment/order path may be the upstream fault.

Does Sent prove the customer received the email?

It confirms the site handed the message to its mail system. Follow provider delivery evidence and the test inbox separately.

Will an SMTP plugin fix WooCommerce emails?

It can help configure mail transport. It will not repair a missing trigger, disabled email, template error or every recipient-side filtering issue.

Where can I find WooCommerce email logs?

Current documentation uses WooCommerce → Status → Logs and the transactional-emails source. Check your installed version and log settings; other WordPress emails may require mail-provider evidence.

Useful documentation

A related guide

WooCommerce Order Pending After Payment: Trace the Mismatch
LET’S TALK

Tell us about
your store.

Enter an international phone number.

PrivacyTerms

Send your enquiry