← All articles
June 24, 2026

WooCommerce Orders Not Sending Confirmation Emails: 5 Fixes

Customers are placing orders but not getting confirmation emails. You're not getting new order notifications either. Here's how to debug WooCommerce email delivery step by step.

Why WooCommerce Emails Stop Working

WooCommerce sends emails through WordPress's wp_mail() function, which uses PHP's mail() by default. Most shared hosting providers block or restrict this. The result: emails look like they're sending but never arrive.

This is one of the most common WooCommerce support issues, and it's almost always an SMTP configuration problem — not a WooCommerce bug.

Step 1: Check WooCommerce Email Settings

Go to WooCommerce → Settings → Emails.

Confirm:

  • "New order" notification is enabled and has a valid recipient address
  • "Customer processing order" is enabled
  • The "From" email address is from your actual domain (not a Gmail/Hotmail address)

Step 2: Send a Test Email

Still in WooCommerce → Settings → Emails, open any email template and click "Send test email."

  • If the test arrives → WooCommerce is working, the problem is order status triggers
  • If the test doesn't arrive → WordPress mail delivery is broken

Step 3: Install WP Mail SMTP

This plugin replaces PHP mail with a proper SMTP connection. It's free and solves 90% of WordPress email problems.

WooCommerce → Plugins → Add New → search "WP Mail SMTP"

Recommended SMTP providers (free tier):

Provider Free limit Best for
Brevo (Sendinblue) 300/day Most sites
Mailgun 100/day Developers
SendGrid 100/day Higher volume
Gmail SMTP 500/day Personal projects

Configure WP Mail SMTP with your SMTP credentials, then use its test tool to send a test email.

Step 4: Check Spam Folders

Ask a customer to check spam. Gmail especially filters transactional emails from shared hosting IPs.

If emails land in spam:

  • Add an SPF record to your domain's DNS
  • Add a DKIM record (your email provider will generate this)
  • Make sure your "From" address matches your domain

Step 5: Check Order Status Flow

WooCommerce only sends emails on specific status changes:

Status change Email sent
Pending → Processing Customer: "Order received"
Processing → Completed Customer: "Order complete"
Any → On-hold Customer: "Order on hold"

If orders are jumping straight to "Completed" (common with downloadable products or some payment gateways) — the "Processing" email never fires.

Check: WooCommerce → Orders — what status do new orders land in?

Step 6: Check for Plugin Conflicts

Some plugins hook into WooCommerce email sending and break it accidentally. To test:

  1. Deactivate all plugins except WooCommerce
  2. Place a test order
  3. If email arrives → reactivate plugins one by one to find the conflict

Step 7: Check the Error Log

Add to wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

Place a test order and check wp-content/debug.log for any mail-related errors.

The Fast Fix

In 9 out of 10 cases: install WP Mail SMTP, configure it with a free Brevo or Mailgun account, done. Takes about 15 minutes.

If it's more complex — a conflict, a custom plugin interfering, DNS misconfiguration — describe what you're seeing and I'll diagnose it quickly.

Need help with this?

DevCev Digital specialises in exactly this kind of work. Tell us what you need — we'll respond within a few hours.

Get free diagnostic →WooCommerce Fix & Development
← Back to blogGot a project? Let's talk →