New 24/7 monitoring and daily cloud backups now included in every Shield Pro plan.

Emails

How to fix WooCommerce order emails not sending

Order emails are the receipt customers expect and the alert your team relies on. When WooCommerce stops sending them, orders still exist in admin but buyers think payment failed. Most cases are SMTP misconfiguration or emails landing in spam, not WooCommerce itself.

Time: 20-35 minutes Level: Beginner

What this problem looks like

WooCommerce triggers emails on order status changes. If processing emails never arrive, either WordPress never called wp_mail, the host rejected the message, or the recipient filtered it.

Shared hosting PHP mail() has poor deliverability. UK shops should send through authenticated SMTP with SPF, DKIM, and DMARC aligned to the store domain.

Confirm which emails are missing

New order emails go to the admin. Processing and completed emails go to customers. Failed order and cancelled templates are easy to overlook because they are disabled by default.

  • No admin new order alert: check recipient address under email settings.
  • No customer receipt: check processing email is enabled.
  • Some orders only: gateway may not be marking orders processing.

WooCommerce email settings checklist

Open WooCommerce → Settings → Emails. Ensure each template is enabled. Confirm the from name and from address use your domain, not a generic [email protected] address that fails SPF checks.

Configure SMTP properly

Use WP Mail SMTP, FluentSMTP, or your host's recommended SMTP plugin. Authenticate with TLS on port 587 or 465. Send a test mail to mail-tester.com and aim for a score above 8/10 before going live.

php
// Optional: log mail failures during diagnosis
add_action( 'wp_mail_failed', function( $error ) {
	if ( defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG ) {
		error_log( $error->get_error_message() );
	}
} );

DNS records for deliverability

Add SPF, DKIM, and DMARC records your SMTP provider supplies. Without them, Gmail and Outlook often silently junk store emails. Changes can take up to 48 hours to propagate.

Cron, queues, and defer transactional email plugins

Some SMTP plugins queue mail. If WP-Cron is disabled without a real system cron replacement, queued emails never send. Plugins that defer WooCommerce emails until checkout completes can fail when AJAX checkout breaks.

Remove diagnostic wp_mail_failed snippets after testing. Log files may contain recipient addresses.

When to stop DIY and hire help

Hire a developer when emails work in tests but not for real orders, when you need custom templates with dynamic blocks, or when Microsoft 365 and Google Workspace routing is complex. BugShield fixes WooCommerce email delivery and DNS alignment.

FAQs

Why are WooCommerce emails going to spam?

Missing SPF/DKIM, sending from a domain you do not control, or shared IP reputation on cheap hosting. Use authenticated SMTP on your shop domain.

Do I need an SMTP plugin for WooCommerce?

Strongly recommended on production shops. PHP mail() is unreliable for transactional order mail.

Can I resend order emails manually?

Yes. Open the order in admin, use the order actions dropdown to resend processing or completed emails, or install a resend plugin for bulk cases.

Why did emails stop after a migration?

SMTP credentials, cron URL, or from-address domain often still point at the old host. Reconfigure mail plugins after every migration.

Rather someone else fixed it?

Request a fix at a confirmed price. Named UK developer, secure Vault, direct chat.

Request a Fix