
You set up your WooCommerce store. Products are live. Orders are coming in.
But at the inbox? No order confirmation email in sight. You've checked the spam folder, sent a test email, and maybe even reinstalled your SMTP plugin. And yet… nothing.
Sound familiar? WooCommerce not sending emails is one of the most common issues WordPress store owners encounter, and it can cause serious problems. Customers assume the order failed. Support tickets pile up. Trust erodes on the very first interaction.
The good news? It's almost always fixable.
Based on hundreds of community reports and real-world troubleshooting, we've identified the top reasons WooCommerce emails stop working and organized them from most to least likely, so you can find your fix fast.
Table of Contents
- 1 Understanding How WooCommerce Emails Work
- 2 Why WooCommerce Is Not Sending Emails: Top 8 Reasons
- 3 1. Your Server's PHP Mail Function is Blocked
- 4 2. WooCommerce Email Settings Are Disabled or Misconfigured
- 5 3. Your Domain is Missing SPF, DKIM and DMARC Records
- 6 4. Your Orders Are Stuck in Pending Payment Status
- 7 5. A Plugin or Theme Conflict Is Breaking Email Triggers
- 8 6. Your WooCommerce Email Templates Are Outdated or Broken
- 9 7. WooCommerce Action Scheduler Queue Is Broken
- 10 8. Your Hosting Provider Has Email-Specific Restrictions
- 11 Test Your WooCommerce Emails to Check if the Issue Is Resolved
- 12 Bonus: Upgrade Your WooCommerce Emails
- 13 Frequently Asked Questions
- 14 Ready to Turn WooCommerce Email Issues into Reliable Delivery?
Understanding How WooCommerce Emails Work
WooCommerce sends automated emails when specific events happen in your store.
A new order triggers the admin notifications. A completed order triggers the customer confirmation. A password reset triggers the reset email. Each email has a specific trigger and a specific recipient.
WooCommerce includes 11 default email notifications out of the box:
Admin notifications
- New Order: A new order is placed
- Cancelled Order: An order is cancelled
- Failed Order: Payment fails
Customer notifications
- Order On-Hold: Order placed on hold (for example, bank transfer)
- Processing Order: Payment received and the order is being processed
- Completed Order: Order is fulfilled and completed
- Refunded Order: A refund is issued to the customer
- Customer Invoice: Admin manually sends an invoice
- Customer Note: Admin adds a customer-facing note
- Reset Password: Password reset requested
- New Account: New account created
All of these emails go through WordPress's built-in wp_mail() function, which, by default, uses the PHP mail() function to send them.
This default setup is the root cause of nearly every WooCommerce email issue, which is why Reason #1 below is the most important one to fix.
For a complete breakdown of email marketing for your store, see our guide on WooCommerce email marketing.
Why WooCommerce Is Not Sending Emails: Top 8 Reasons
WooCommerce email failures come down to a handful of root causes, including server restrictions, missing authentication, misconfigured settings, or plugin conflicts.
Let's walk through each one with exactly what's wrong and how to fix it.
1. Your Server's PHP Mail Function is Blocked
Problem
This is the single most common cause of WooCommerce not sending emails, responsible for the majority of reported cases.
WordPress and WooCommerce rely on PHP's mail() function by default.
Most shared hosting providers restrict or disable this function to prevent spam abuse, which causes emails to silently fail.
You will not see any error message. The email simply never leaves the server.
Even when PHP mail works, email providers like Gmail and Outlook often route these messages straight to spam because they fail basic authentication checks.
These messages lack the headers and cryptographic signatures required to prove they came from a legitimate sender.
How to fix
The fix is to replace PHP mail with an authenticated SMTP (Simple Mail Transfer Protocol) service.
SMTP routes your emails through a professional email delivery provider that handles authentication, deliverability, and bounce management.
Install a free SMTP plugin
We recommend WP Mail SMTP, free and actively maintained. Both work with WooCommerce out of the box and support all major email providers.
Choose an email sending service
After activating the plugin, connect it to one of the following services:
- Gmail or Google Workspace for low-volume stores (up to 500 emails per day)
- SendGrid, Mailgun, Brevo, Amazon SES, or Postmark for higher volume and better deliverability at scale
- Your hosting provider's SMTP credentials, if they offer them

Configure the SMTP settings
Go to the plugin’s settings page and configure:
- Set the 'From Email' to an address on your domain (e.g., [email protected])
- Check Force From Email so WooCommerce can't override it
- Enter the SMTP credentials your email provider gives you (host, port, username, password)

Save your settings, then send a test email using the plugin's built-in test tool. If the test succeeds, place another test order. Your WooCommerce emails should now arrive reliably.
If the test email arrives, your WooCommerce emails should now work. This single fix resolves the problem for the vast majority of stores.
2. WooCommerce Email Settings Are Disabled or Misconfigured
Problem
Before troubleshooting server-level issues, configure WooCommerce to send the emails you expect.
A specific email template might get disabled, the recipient address might be wrong, or the 'From' address might not match your domain, which triggers spam filters and causes legitimate emails to be rejected.
This is especially common after a theme switch, a plugin update, or when an admin email address is changed in WordPress but not updated in WooCommerce.
How to fix
Check each email template
Go to WooCommerce ⇨ Settings ⇨ Emails. You will see a list of all 11 default email notifications.

Click 'Manage' next to each email type and confirm the following:
- Enable the email notification
- Make sure the recipient address (for admin emails) is correct
- Enter the subject line and email content

Fix the "From" address
Scroll to the Email sender options section at the top of the page. The "From" name should be your store name, and the “From” address must be an email that belongs to your domain.

Using a generic address like [email protected] or a mismatched address like [email protected], here is one of the most common reasons WooCommerce emails get flagged as spam.
Run the WooCommerce system status check
Go to WooCommerce ⇨ Status and review the report. Look specifically at the "WordPress Environment" and "Server Environment" sections for red flags.
Make sure to check for any warnings about wp_mail, WP-Cron, or outdated PHP versions.
Also, check your main WordPress admin email under Settings ⇨ General. WooCommerce admin emails default to this address if you leave the recipient field blank in the New Order template.
A typo or outdated address here silently breaks admin notifications.
3. Your Domain is Missing SPF, DKIM and DMARC Records
Problem
Even when you've configured the SMTP, your WooCommerce emails can still be marked as spam if your domain lacks proper authentication.
This is why emails that appear to have been sent successfully according to your logs still do not arrive in the customer's inbox or end up in the spam folder.
SPF, DKIM, and DMARC are DNS records that tell receiving mail servers your emails are legitimate and authorized to come from your domain. Without them, Gmail, Outlook, and Yahoo treat your messages as suspicious.
In 2024, Gmail and Yahoo began requiring bulk senders to authenticate with SPF, DKIM, and DMARC, making this no longer optional for any WooCommerce store with meaningful email volume.
How to fix
Let's quickly understand these DNS records:
- SPF (Sender Policy Framework) specifies which mail servers are allowed to send email on behalf of your domain.
- DKIM (DomainKeys Identified Mail) adds a cryptographic signature proving your emails were not tampered with.
- DMARC (Domain-based Message Authentication) tells mail providers what to do with emails that fail SPF or DKIM.
Generate the records from your SMTP provider
Most SMTP providers, such as SendGrid, Mailgun, Brevo, and Amazon SES, generate these records for you during setup. Copy them from the provider's dashboard.
Add the records to your DNS
Log in to your domain registrar or DNS host (Cloudflare, GoDaddy, Namecheap, and similar) and add the SPF, DKIM, and DMARC records as TXT entries. Wait up to 24 hours for DNS propagation.
Verify the setup
MXToolbox or EasyDMARC are free tools to help confirm your records are valid.
You can also send a test email to mail-tester.com to get a full deliverability score and see exactly what is configured correctly and what still needs fixing.
4. Your Orders Are Stuck in Pending Payment Status
Problem
WooCommerce only sends specific customer emails when an order reaches certain statuses.
Orders stuck in Pending Payment, Draft, or Checkout Draft will not trigger customer confirmation emails because payment has not yet been captured.
This is a frequent case of confusion. The store owner sees the order dashboard and assumes the email should have been sent. But from WooCommerce's perspective, the order has not progressed far enough to trigger the customer-facing confirmation email.
How to fix
Check the order status
Go to WooCommerce ⇨ Orders and look at the status column. Only these statuses trigger the corresponding customer emails:
- Processing triggers the Customer Processing Order email
- Completed triggers the Customer Completed Order email
- On Hold triggers the Customer On-Hold email
- Cancelled triggers the Cancelled Order (admin) email
- Refunded triggers the Customer Refunded Order email

Understand why orders get stuck in pending payment
Orders stuck in Pending Payment usually indicate a payment gateway issue. The customer may have abandoned checkout, the payment may have failed silently, or the gateway's webhook may not be firing.
Check your payment gateway logs under WooCommerce ⇨ Status ⇨ Logs to investigate.
Manually update the status for testing
To confirm that the email system itself is working, manually change the status of a test order from Pending Payment to Processing. This will trigger the customer confirmation email.
5. A Plugin or Theme Conflict Is Breaking Email Triggers
Problem
A plugin on your site might be interfering with the wp_mail function and preventing WooCommerce emails from being triggered or sent.
This often happens after installing a new plugin or updating an existing one. In some cases, even after removing the plugin, emails sometimes continue to fail until the conflict is fully resolved.
How to fix
Identify the most likely culprits
These plugin categories most commonly conflict with WooCommerce emails:
- Security plugins like Wordfence, All In One WP Security, Sucuri Security, or iThemes Security often block outgoing SMTP connections as suspicious activity false positives.
- Caching plugins like WP Rocket, W3 Total Cache, and LiteSpeed Cache can cache email-triggering pages, preventing actions from firing.
- Email customization plugins like Kadence WooCommerce Email Designer or YayMail can override core email settings and conflict with SMTP.
- Custom plugins that hook into phpmailer_init or override the From address.
Deactivate plugins systematically
Make sure to switch to a default theme.
Temporarily deactivate every plugin except WooCommerce and your SMTP plugin.
Send a test email and place a test order. If emails start working, reactivate your plugins one by one, testing after each activation, until you identify the conflict.
Check the browser console and server logs
Open your browser's developer tools (F12) and check the Console tab for JavaScript errors when placing an order.
Also, check your server error logs via WooCommerce ⇨ Status ⇨ Logs, or in your hosting control panel, for PHP errors related to wp_mail, phpmailer_init, or SMTP connections.
6. Your WooCommerce Email Templates Are Outdated or Broken
Problem
WooCommerce uses PHP-based email templates that themes and plugins can override. When you update WooCommerce, but your theme's template overrides haven't been updated to match, the email can fail to render and silently refuse to send.
A single PHP error in a template file is enough to prevent that entire email type from working.
How to fix
Go to WooCommerce ⇨ Status ⇨ System Status and scroll down to the 'Templates' section.
It lists every template override in your active theme, along with whether the override is out of date compared to the core WooCommerce version.
If any templates are flagged as outdated, update them by copying the latest version from /wp-content/plugins/woocommerce/templates/emails/ to /wp-content/themes/your-child-theme/woocommerce/emails/ and reapplying your customizations.
For safe email customization going forward, follow these instructions:
- Use the built-in customizer at WooCommerce ⇨ Settings ⇨ Emails to change colors, header image, and footer text without touching code
- For visual drag-and-drop editing, consider plugins like FunnelKit Automations, Kadence WooCommerce Email Designer, or YayMail
- Never edit the plugin's template files directly, else they'll be overwritten on the next update
- Always place a test order after modifying any template
7. WooCommerce Action Scheduler Queue Is Broken
Problem
WooCommerce uses the Action Scheduler library to process background tasks, including some email triggers.
When WP-Cron or Action Scheduler fails, scheduled emails silently stop firing and accumulate as failed actions in the queue.
It affects only certain emails (that are queued rather than sent immediately), and there is no visible error.
Action Scheduler issues are especially common on sites with disabled WP-Cron, incorrect server cron configuration, or sudden traffic spikes that overwhelm the scheduler.
How to fix
Check the Action Scheduler queue
Go to WooCommerce ⇨ Status ⇨ Scheduled Actions in your WordPress dashboard.
Filter by 'Failed' to see any failed email-related actions. Filter by 'In Progress' to find stuck actions that never completed.
Run or retry failed actions
Click 'Run' on any failed email action to retry it. For actions stuck in the “In Progress” status, you can manually cancel and reschedule them.
Fix WP-Cron if it is disabled
If your wp-config.php file contains the line define('DISABLE_WP_CRON', true);, WooCommerce relies on a real server cron job to process scheduled actions.
Ensure your hosting cron job is configured to hit the wp-cron.php endpoint every few minutes. If you are not sure, contact your host or remove the disabled line to restore the default behavior.
Increase PHP execution time
Action Scheduler needs enough PHP execution time to process queued actions.
If your max_execution_time is set very low (under 30 seconds), increase it to at least 60 seconds in your hosting control panel or php.ini file.
8. Your Hosting Provider Has Email-Specific Restrictions
Problem
Some hosting providers block certain ports, enforce daily sending limits, or require specific SMTP setups to send mail at all.
If you have worked through all the fixes above and emails are still not sending, your hosting provider is likely the final blocker.
How to fix
Check the notes for your specific host below:
SiteGround blocks port 25 by default and recommends using port 465 with SSL. SiteGround provides built-in SMTP configuration under Site Tools ⇨ Email ⇨ Accounts if you use their email service.
Bluehost and HostGator both enforce daily sending limits on shared plans (typically 150 to 500 emails per hour). For stores sending more than a few dozen emails per day, switching to an external SMTP service like Brevo, SendGrid, or Amazon SES is essential.
Kinsta and WP Engine do not include mail services with their managed WordPress hosting. Both explicitly require customers to use a third-party SMTP provider. Setting up SMTP is required.
Cloudways allows the use of its Elastic Email add-on or any third-party SMTP. Note that the free tier has a sending limit, and you must verify your domain before sending to production traffic.
GoDaddy is one of the most common hosts where WooCommerce emails silently fail. Most WooCommerce owners find better results pairing GoDaddy hosting with an external SMTP provider.
Nexcess (Liquid Web's WooCommerce-focused host) includes SendGrid integration by default on WooCommerce plans, which typically resolves email issues without additional configuration.
For any other host, check their documentation for "PHP mail", "SMTP", or "sending limits". When in doubt, contact their support team and ask whether the PHP mail function is enabled and what SMTP credentials they recommend.
Test Your WooCommerce Emails to Check if the Issue Is Resolved
Once you have worked through the relevant fixes above, run through this checklist to verify everything is working:
Send a test from your SMTP plugin
Most SMTP plugins (WP Mail SMTP, Easy WP SMTP, etc.) have a built-in test email feature under their settings page. Send a test to your own address and confirm it arrives.
Place a test order on your store
Add a product to your cart, complete checkout as a test customer, and confirm you receive the Customer Processing Order email. Also, confirm that the admin email receives the New Order notification.
Test from multiple email providers
Send test orders using Gmail, Outlook, Yahoo, and Apple Mail addresses. Different providers filter differently, and an email that lands in Gmail may still be flagged as spam in Outlook.
Check your email log
If you have WP Mail Logging or FluentSMTP logging enabled, open the log and confirm every test email shows a success status.
Send a deliverability test
Send a test order to mail-tester.com. You will get a score out of 10 along with a breakdown of SPF, DKIM, DMARC, sender reputation, and spam triggers. Aim for 9/10 or higher.
Getting WooCommerce email delivery right pays off in customer trust and engagement from the very first order.
Bonus: Upgrade Your WooCommerce Emails
Getting your WooCommerce emails to send is just the first step. Now it is time to turn them into a branded, conversion-driving part of your customer experience.
That is where you can use FunnelKit Automations to transform both transactional and marketing emails.
FunnelKit Automations is the most powerful marketing automation plugin for WooCommerce, trusted by over 30,000 store owners to power their emails, SMS, and marketing automation.
Here is what you can do with it:
- Transform default WooCommerce emails: Use a visual drag-and-drop editor to design order confirmation, processing, completed, refunded, and new account emails that match your brand colors, logo, and voice.
- Send abandoned cart recovery emails: WooCommerce does not include abandoned cart emails. That's where you can use this plugin to capture abandoned checkouts and send automated recovery sequences with dynamic product details, coupons, and urgency triggers.
- Automate post-purchase sequences: Send timed thank-you emails, review request campaigns, cross-sell offers, and re-engagement emails based on what customers purchased and when.
- Track revenue per email: See exactly how much revenue each transactional email, broadcast, and automation is generating. Attribution is built in, so you do not need Google Analytics workarounds.
- Segment customers automatically: Target VIP customers, recent buyers, inactive subscribers, or customers who bought specific products with targeted broadcasts and automations.
- Use SMS and email together: Add SMS notifications to your order workflows for high-priority events, such as shipping confirmations and delivery updates.
FunnelKit Automations offers a free version with transactional email customization and basic workflows. The Pro plan starts at $99.50 per year and unlocks abandoned cart recovery, advanced segmentation, SMS automation, broadcasts, and revenue analytics.
Frequently Asked Questions
Gmail and Outlook have the strictest spam filters of any major email providers and often reject emails sent via PHP mail or from unauthenticated domains. Gmail and Yahoo began requiring bulk senders to authenticate with SPF, DKIM, and DMARC starting in 2024.
The fix is to set up SMTP with an authenticated domain and send from an address that matches your domain.
This error means WooCommerce tried to send through your configured method (PHP mail or SMTP) and the attempt failed.
If you are using PHP mail, install an SMTP plugin. If you are already using the SMTP plugin, check that your SMTP host, port, username, password, and encryption settings are correct. A typo in any of these values or an incorrect port (587 for TLS, 465 for SSL) is the most common cause.
The cause is usually one of three things: the admin recipient address is incorrect under WooCommerce > Settings > Emails > New Order > Manage, the New Order email is disabled, or a security plugin is blocking the admin notification.
Also, check your main WordPress admin email under Settings > General, since WooCommerce defaults to this address for admin notifications.
This typically points to one of two issues. Specific users' email providers (often Outlook, Yahoo, or corporate domains) are filtering your emails as spam or rejecting them due to authentication failures. Alternatively, your email list contains hard bounces that your SMTP provider has suppressed. Check your SMTP provider's suppression list and verify your domain authentication with mail-tester.com.
Ready to Turn WooCommerce Email Issues into Reliable Delivery?
If WooCommerce is not sending emails from your store, you are not alone. But now you know exactly what to look for.
Whether it is a blocked PHP mail function, missing domain authentication, a plugin conflict, or a hosting restriction, these fixes are all straightforward once you know where to focus.
The payoff is reliable email delivery that keeps every order confirmation, shipping update, and password reset landing where it belongs: in your customer’s inbox.
But why stop there?
If you want to do more than just fix broken emails, then you need more than just SMTP.
You need branded transactional emails, abandoned cart recovery, post-purchase sequences, and revenue tracking, and that is where FunnelKit Automations comes in.
It replaces your default WooCommerce emails with beautifully designed, mobile-responsive templates and adds full marketing automation for your store.
So, fixing WooCommerce not sending emails is just one piece of the puzzle. Make sure to work on emails to boost customer engagement and unlock more revenue from every order.
Give your customers the reliable, branded email experience they expect. Start sending better WooCommerce emails by clicking on the button below.

Editorial Team
April 29, 2026WooCommerce ActiveCampaign integration is one of the most sought-after connections in the WordPress community. ActiveCampaign is a customer experience automation platform. It can help WooCommerce store owners connect and engage...

Editorial Team
April 22, 2026Your customers get hundreds of emails every day. Most get deleted without a second glance. Automated birthday emails are different. The numbers back that up. Campaign Monitor found birthday emails...

Editorial Team
April 22, 2026Want to customize WooCommerce emails that actually get opened? WooCommerce's default emails do one thing well: they get sent. That's about it. No branding. No personality. Just a wall of...






