WooCommerce Not Sending Order Emails? How to Fix It Step by Step

Fix: WooCommerce Not Sending Order Emails

Quick answer: WooCommerce order emails usually fail for one of three reasons: the email type is disabled or misconfigured in WooCommerce → Settings → Emails, your server can’t send mail reliably (fix it with an SMTP service and SPF/DKIM records), or the order never reached the status that triggers the email (often because of a payment gateway or background-task problem). Check those three things in that order and most stores are fixed within an hour.

Missing order emails cause real damage. Customers think their order failed and contact support or order again. Store owners miss new orders and ship late. The good news is that the causes are predictable. This guide walks you through each one, from the quickest checks to the deeper fixes, with real examples from stores that had the same problem.

How WooCommerce emails work

WooCommerce sends emails when an order changes status. For example, when a paid order moves to “Processing”, WooCommerce sends the Processing order email to the customer and the New order email to the store admin. When you mark it “Completed”, the customer gets the Completed order email. If the order never changes to the right status, no email is sent. If it changes but your server can’t deliver mail, the email is attempted but never arrives.

EmailSent toTriggered when
New orderAdminOrder moves from pending/failed to processing or on-hold
Processing orderCustomerOrder is paid and moves to processing
On-hold orderCustomerOrder awaits payment (e.g. bank transfer)
Completed orderCustomerOrder marked completed
Cancelled / failed orderAdminOrder is cancelled or payment fails
Customer note, refund, invoiceCustomerManually triggered or on refund

Fix 1: Check WooCommerce email settings

  1. Go to WooCommerce → Settings → Emails.
  2. Make sure each email you need is enabled (click “Manage” to check).
  3. For “New order”, check the Recipient(s) field contains the correct admin address.
  4. At the bottom, check the “From” name and address. Use an address on your own domain, such as orders@yourstore.com. A Gmail or Yahoo “From” address will often be rejected.
  5. Save changes.

This simple check fixes a surprising number of cases, especially after a site migration or when a staff member leaves and their address was the recipient.

Fix 2: Confirm the order status is changing

Open a recent order in WooCommerce → Orders. Look at the order notes on the right. You should see notes like “Order status changed from Pending payment to Processing.” If orders are stuck at Pending payment, the payment gateway isn’t telling WooCommerce the payment succeeded — so the processing and new order emails never trigger.

  • Check your gateway’s webhook settings (for example in your Stripe or PayPal dashboard) and make sure the webhook URL points to your current domain.
  • After moving hosts or changing domains, webhooks often still point to the old site.
  • Look for errors in WooCommerce → Status → Logs for your gateway.

Fix 3: Install an SMTP plugin

By default, WordPress sends email using the server’s PHP mail function. Many hosts restrict it, and inboxes like Gmail and Outlook distrust unauthenticated mail. Sending through a proper email service fixes delivery for most stores:

  1. Install an SMTP plugin such as WP Mail SMTP or FluentSMTP.
  2. Connect it to a transactional email service or your business email provider.
  3. Set the From address to match your WooCommerce From address.
  4. Send a test email to a Gmail and an Outlook address.

Our full guide to fixing WordPress email explains each mailer option.

Fix 4: Add SPF, DKIM and DMARC records

These DNS records prove your emails really come from your domain. Your email service gives you the exact values to add. Without them, order emails often land in spam or are rejected entirely. Remember: you can only have one SPF record per domain, so combine all your sending services into it. Google’s email sender guidelines explain the requirements.

Fix 5: Check Action Scheduler and WP-Cron

WooCommerce uses a background queue called Action Scheduler for many tasks. If background processing is broken, some emails and follow-up actions can be delayed. Go to Tools → Scheduled Actions and look at the Pending and Failed tabs. Hundreds of past-due pending actions suggest WP-Cron isn’t running — common on low-traffic sites or when a host disables it. Ask your host to set up a real server cron job that runs wp-cron.php every few minutes.

Fix 6: Turn on email logging

Enable email logging in your SMTP plugin. Then place a test order. The log shows whether WooCommerce tried to send the email and whether the email service accepted it:

  • No log entry: WooCommerce never sent it — check settings and order status.
  • Logged as failed: SMTP credentials or connection problem.
  • Logged as sent but not received: a deliverability issue — check spam folders and DNS records.

Fix 7: Look for plugin conflicts

Email customiser plugins, multilingual plugins and some checkout add-ons change how emails are generated. If emails stopped after installing or updating one of these, test on a staging site by deactivating it. Our plugin troubleshooting guide shows a safe way to find conflicts.

Fix 8: Resend a missing email manually

For a customer who didn’t receive their confirmation, open the order, choose Order actions → Resend new order notification (or the relevant customer email) and click update. This doesn’t fix the underlying problem, but it helps the customer while you investigate.

A real-world example

A small skincare store moved to a new host on a Friday. Over the weekend, orders kept arriving, but neither the owner nor customers received emails. On Monday, the owner checked the order notes and saw that orders were changing to Processing correctly — so WooCommerce was trying to send emails. The SMTP plugin wasn’t installed on the new site, and the new host blocked PHP mail. Installing an SMTP plugin, connecting it to a transactional email service and adding the DKIM record fixed delivery within 30 minutes. The owner then used the “Resend” action for the weekend’s orders and sent a short apology. A five-minute test order after the migration would have caught it immediately.

Server problems can also stop emails

Sometimes the cause sits below WooCommerce. Server changes — PHP upgrades, firewall changes or emergency security patches — can affect outgoing mail or background tasks. After the October 2026 PHP2Shell vulnerabilities, many hosts patched and restarted PHP services and adjusted settings. If emails stopped without any change on your side, ask your host whether the server was updated recently and whether outgoing SMTP ports are open.

Prevent email problems in future

  • Always use an SMTP or API-based email service for your store.
  • Place a test order after every migration, major update or hosting change.
  • Keep email logging on, with a 30-day retention.
  • Monitor Scheduled Actions for failures once a month.
  • Keep WooCommerce, gateways and email plugins updated — see our WooCommerce hosting guide for platform tips.

FAQ

Why does the admin get emails but customers don’t?

Customer emails go to many different inbox providers, some stricter than others. Missing DKIM or DMARC records often cause customer emails to land in spam while admin emails arrive.

Why are WooCommerce emails going to spam?

Usually because they aren’t authenticated. Add SPF, DKIM and DMARC records and send through a reputable email service.

Can I send WooCommerce emails through Gmail?

Yes, using an SMTP plugin connected to Google Workspace, but sending limits apply. Busy stores should use a transactional email service.

Do I need a plugin to customise WooCommerce emails?

No. Basic colours, logo and footer text can be changed in the email settings. Plugins add more design control.

WordPressPrime.com is an independent guide and is not affiliated with the WordPress Foundation, WordPress.org or Automattic. Always back up your website before making changes, and check official sources for the latest details.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *