Summary
WooCommerce emails not sending usually means one of four stages failed. The built-in email log names the stage in minutes. You can run the settings, sender and spam checks yourself.
A developer takes over when paid orders never reach Processing, the log shows host errors, or you cannot test safely. Handing over the log and your test results shortens the fix.
Introduction
A silent order inbox is expensive in the weeks before holiday peak. Orders land in the dashboard, yet you and your customers hear nothing. Buyers wonder whether the order went through, and support tickets follow.
The usual mistake is installing a mail tool before you know which stage broke. That guesswork costs days and can hide the real cause. This guide walks four stages in order, with a clear point to stop and call a developer.
Table of Contents
- Why do WooCommerce emails go missing, and which stage failed?
- Was the email ever triggered?
- Did WooCommerce actually send the email?
- Did the receiving mailbox accept it?
- Why do store emails land in spam, and how do you fix it?
- What is the full checklist to run on one test order?
- When should you bring in a WooCommerce developer?
- People also ask
- Conclusion
- Frequently asked questions
Why do WooCommerce emails go missing, and which stage failed?
A missing WooCommerce email fails at one of four stages: never triggered, not sent, not delivered, or landed in spam. Each stage has a different owner and a different first place to look. The table maps all four in the order you should check them.
|
Stage |
What it means |
Where to look first |
|---|---|---|
|
1. Never triggered |
The order never reached a status that fires the email |
Order status and the email’s enable switch |
|
2. Not sent |
WooCommerce tried, and the attempt failed or was skipped |
WooCommerce, Status, Logs |
|
3. Not delivered |
The message left your site, but the receiving mailbox refused it |
From address and mail setup |
|
4. Landed in spam |
The mailbox accepted the message but filed it as junk |
SPF, DKIM and DMARC records |
The four stages of a missing WooCommerce email, in the order to check them.
Transactional emails are the messages an order or account action triggers. Examples are order confirmations, status updates, and password resets. They matter more than newsletters because customers act on them.
How does an order email travel from checkout to inbox?
WooCommerce triggers an email when an order changes status. It hands the message to WordPress through the wp_mail() function. WordPress then passes it to your host’s mail setup.
Your host sends it on to the receiving mailbox provider. That provider decides between the inbox and the spam folder. Each handoff is a place where the message can stall.
The official guide often points to the host’s mail function when mail fails. Treat that as the usual suspect, not the only one. Silent glitches like this sit on the list of WooCommerce conversion killers.

Was the email ever triggered?
An email is triggered only when the order reaches a status that fires it, and that email is switched on. Check both before you look at anything else. Most stage-one failures end here.
Is the order stuck in Pending payment?
Pending payment sends nothing. A customer may have left an external payment page, or a card may have been declined. The exact behavior varies by gateway.
If payment succeeded but the status never moved, the gateway failed to report back. That is a payment communication problem, not an email problem. An order that reaches Processing status should fire the notification when it is enabled.
Line up the order status, the email entry, and the payment details together. Repeated stalls are a known pattern in WooCommerce checkout failures. They also overlap with wider ecommerce website problems.
Is the email switched on and addressed to someone?
Open WooCommerce, then Settings, then Emails, and select the template. Tick Enable this email notification and save.
Then confirm the recipient field holds a real address. A blank recipient produces a Skipped entry in the log. The next step shows how to read it.
Did WooCommerce actually send the email?
You can tell in minutes from the transactional-emails log, which marks each attempt sent, failed, disabled, or skipped. Place a test order or trigger the email. Then open WooCommerce, Status, Logs and pick the transactional-emails source.
Look for the entry that matches your test. Current WooCommerce versions include this log. The WooCommerce email troubleshooting guide documents each status.
What do sent, failed, disabled and skipped mean?
- Sent. WooCommerce handed the message to the mail system. This is not proof of delivery.
- Failed. Mail sending returned an error, often with a reason. It usually points to hosting or mail setup.
- Disabled. That email type is turned off in settings.
- Skipped. A required condition is missing, such as a recipient.
Sent and failed attempts also appear as private notes on the order. Disabled and skipped entries appear only in the log. Recipients show as a username or guest, not a raw address.
Illustrative case: paid orders, no new-order email
Illustrative example, not a client case.
A store owner sees paid orders in the dashboard but never receives the new-order message. The log shows Skipped for each order because the recipient field is blank. After the owner fills in the recipient and places another test order, the log shows Sent.
What if the log is empty, or the email is not in it?
Open Logs, then Settings, and confirm logging is on. Make sure the threshold is not hiding info or notice entries.
No entry at all points to a fatal error or plugin conflict. Test conflicts on a staging site, never on the live store. In practice, switching plugins off on a live checkout risks lost orders.
Admin emails and password reset emails may not appear in the WooCommerce log. For those, read the log your SMTP service keeps, or use a mail logging tool. A wider list of common WooCommerce bugs helps when the log shows nothing useful.

Did the receiving mailbox accept it?
A Sent status only means WooCommerce handed the message onward, so delivery depends on your From address and mail setup. Two settings decide most of what happens next. Deliverability is the final test of both.
Does the From address use your own domain?
Use an address on your site’s domain in WooCommerce, Settings, Emails. A From address on a free mail domain, such as Gmail, often gets marked as spam or blocked. The sending server does not match the sender the message claims to be.
Mailbox providers read that mismatch as a sign of forgery. Your own domain gives them something to verify. The spam section below explains how.
Should store mail go through a dedicated SMTP service?
The WooCommerce guide recommends a dedicated third-party SMTP service. It is more reliable than your own server’s mail function. An average site usually stays within free tiers.
An SMTP service also keeps its own log of what it accepted and refused. That log fills the gap the WooCommerce log leaves for password reset emails.
Before you change anything, check the junk folder and the spelling of the recipient address on the test order. A single typo looks exactly like a delivery failure. Rule it out first.
Why do store emails land in spam, and how do you fix it?
Store emails land in spam when receivers cannot confirm the message really came from your domain. Three DNS records give them that proof. Missing or broken records are the most common fix at this stage.
What do SPF, DKIM and DMARC each do?
An SPF record lists which servers may send mail for your domain. A DKIM signature marks each message so the receiver can check it against a DNS record. A DMARC policy tells receivers what to do when a message fails both.
Domain alignment means the From domain matches the domain that passes those checks. If your host sends your store’s mail, ask the host to confirm all three are set up. If you use an SMTP service, follow its domain authentication steps.
What do Gmail’s sender rules require?
Since February 2024, the Gmail sender guidelines require SPF or DKIM from every sender. Senders also need valid forward and reverse DNS, plus TLS. Google wants the reported spam rate under 0.3% in Postmaster Tools.
Senders of more than 5,000 messages a day to Gmail also need SPF, DKIM and DMARC with aligned domains. Check your own volume to see which tier applies. Yahoo set comparable requirements from the same month.
Set up authentication even if you only send transactional emails. Other mailbox providers are likely to follow the same direction. Doing it once protects every order message you send.
What is the full checklist to run on one test order?
Run seven checks in order on a single test order, and stop at the first one that fails. Fix that item, then place another test order. Do not skip ahead.
- Step 1. Confirm the order status is Processing, not Pending payment.
- Step 2. Confirm the email is enabled and has a recipient.
- Step 3. Read the transactional-emails log entry for the test order.
- Step 4. If the entry says Sent, check the junk folder and the recipient spelling.
- Step 5. Confirm the From address uses your own domain.
- Step 6. Route mail through a dedicated SMTP service and confirm the SPF, DKIM and DMARC records.
- Step 7. For password reset and admin emails, read the SMTP service’s own log instead.
If the same failure returns after a fix, treat it as a developer case. Recurring faults are what ongoing WooCommerce support and maintenance exists to catch.
When should you bring in a WooCommerce developer?
Bring in a developer when paid orders never reach Processing, the log shows host errors, or you cannot test safely. These cases need server, DNS, or code access that a store owner often lacks. The signs below are specific.

Which signs point to a developer-level problem?
The decision rule is simple: a WooCommerce bug fix service takes over when any sign below appears.
- Paid orders whose status never reaches Processing, which points to a gateway callback fault.
- A Failed log entry with a host-level reason, or no entry plus fatal errors.
- A suspected plugin or theme conflict and no staging site to test it.
- No DNS access, or records in place while mail still lands in spam.
- Custom, B2B approval, or ERP-triggered emails that stopped after an update.
- The same failure returning after a fix.
Updates cause some of these. A change can blank custom fields in emails, as the notes on HPOS plugin compatibility describe.
Custom or ERP-triggered messages usually need a WooCommerce development company that can read the integration code. A store takeover service covers stores inherited from another developer, where nobody knows the custom code.
What should you hand the developer?
Evidence turns an open-ended hunt into a short fix. Send these items with the first message.
- The log excerpt, with status, reason, and timestamp.
- Your seven check results, noting where the test failed.
- Screenshots of the SPF, DKIM, and DMARC DNS records.
- The From address and mail setup in use, such as your host or an SMTP service.
- Example order numbers that missed their emails.
- What changed recently, including updates and new plugins.
In practice, a developer will ask for these anyway. Sending them first saves a round of questions.
People also ask
How do I test WooCommerce emails?
Place a test order, then open WooCommerce, Status, Logs and pick the transactional-emails source. The entry shows whether the email was sent, failed, disabled, or skipped. Check the inbox and the junk folder next.
Why am I not getting new order emails as the store owner?
Check that the new order email is enabled and lists your address as the recipient. Admin emails may not appear in the WooCommerce log. If so, read your SMTP service’s own log.
Do emails send when an order is Pending payment?
No. Orders in Pending payment do not trigger emails. The order must first reach a status such as Processing.
Why do WooCommerce emails go to spam?
Receivers often cannot confirm the message came from your domain. A free mail From address or missing authentication records is the usual cause. The spam section above covers the fix.
Conclusion
A missing order email fails at one of four stages. One log names the stage, so you fix the right thing first. Owner checks come before any developer call.
When the evidence points to gateways, host errors, or DNS, hand over the log and your test results. Diagnosing first turns a guess into a short, clear fix.
Frequently asked questions
What does a Sent status in the WooCommerce email log mean?
Sent means WooCommerce handed the message to the mail system. It does not confirm the inbox received it. Check the From address, the spam folder, and mail authentication next.
Can a plugin or theme conflict stop store emails?
Yes. A conflict can throw an error before the order status changes, so the email never fires. Test on a staging site with other plugins off and a default theme.
Do I need a dedicated SMTP service for WooCommerce?
The official guide recommends one because it is more reliable than your server’s own mail function. It also gives you a log to read for admin and password reset emails. An average site usually stays within free tiers.
Why do password reset emails not show in the WooCommerce log?
The WooCommerce log may not record admin and password reset emails. Read your SMTP service’s own log for those. A mail logging tool is the other option.
Is it safe to use a free mail address as the From address?
No. Free mail domains often cause store messages to be marked as spam or blocked. Use an address on your own domain instead.
How do I know whether my host is the problem?
Look for Failed entries with a mail sending error in the log. The official guide often points to the host’s mail function in those cases. Ask the host to confirm its mail setup and DNS records, or move store mail to an SMTP service.
What should I send a developer to speed up the fix?
Send the log excerpt, your test results, and screenshots of your DNS records. Add the From address, mail setup, example order numbers, and recent changes. That package usually saves a round of questions.
Virtina helps B2B sellers design, build, and connect online ordering, from pricing rules to ERP hand-offs. The team works across WooCommerce, Magento, BigCommerce, and Shopify.

