preloader

WooCommerce Email Not Sending: How to Diagnose and Fix It

WooCommerce email failures are one of the most impactful WordPress problems — missed order confirmations damage customer trust and increase support requests. Here is how to systematically diagnose and fix the issue, including using SMTP2GO for reliable delivery.

Step 1: Confirm Which Emails Are Failing

WooCommerce sends several email types: New Order (to admin), Processing Order (to customer), Completed Order (to customer), Refunded Order, Customer Invoice, and others. First determine which specific emails are not arriving. Go to WooCommerce, then Settings, then Emails. Check that each email type is enabled. Send a test by clicking the Send Test Email button on each email type.

If test emails arrive but real order emails do not, the problem is timing or a condition-specific issue rather than a delivery infrastructure problem.

Step 2: Check PHP mail() Is Actually Sending

Install a plugin like Check Email (WP Mail SMTP has a test feature). Send a test email through WordPress. If the test email does not arrive, PHP mail() is not working on your server. This is the most common root cause and the most important thing to confirm first.

Step 3: Set Up SMTP Delivery

If PHP mail() is failing or going to spam, configure SMTP delivery. Install the SMTP2GO plugin and connect your SMTP2GO account. After configuration, send a test email through the plugin. If the test email arrives, your SMTP connection is working.

Now send a test WooCommerce order email through WooCommerce, then Settings, then Emails. If SMTP is configured correctly, WooCommerce emails use the same wp_mail() function and therefore go through SMTP2GO automatically.

Step 4: Check the From Address

Email arriving in spam is often due to a mismatch between the From email address and the sending domain. If WooCommerce sends from noreply@yourdomain.com but your SMTP2GO account is configured for a different domain, receiving servers may flag the email.

Go to WooCommerce, then Settings, then Emails and check the From Name and From Address fields. The From Address should use your actual domain. The domain must be verified in your SMTP2GO account with SPF and DKIM records.

Step 5: Check Spam Filters

Sometimes emails send successfully but land in spam at the recipient’s end. Ask the customer to check their spam folder. Test deliverability using Mail Tester at mail-tester.com — it gives a score and identifies specific deliverability issues. A score below 8 usually indicates a DNS configuration problem (missing SPF or DKIM records).

Step 6: Check WooCommerce Email Hooks

If emails were working before and stopped after a plugin update, a plugin may be hooking into WooCommerce email actions and interfering. Temporarily deactivate recently updated plugins and test email delivery. Also check that the woocommerce_email action hooks are not being removed by a plugin or custom code in functions.php.

Step 7: Check Server Email Logs

If you have server access, check the mail log (usually at /var/log/mail.log on Linux). The log shows whether PHP mail() is being called, whether SMTP2GO is receiving the handoff, and what errors occur. This is the most definitive source of truth for email delivery problems.

For complete WooCommerce email setup including custom email templates, transactional email optimisation, and customer notification workflows, a WordPress developer can configure reliable and professional WooCommerce email delivery.

Keep Reading

Previous Post Setting Up WordPress Transactional Email: SMTP vs API Sending Next Post How to Fix Facebook and LinkedIn Link Previews on WordPress

Need Help With Your WordPress Site?

If you need help with WordPress fixes, plugin issues, theme customization, or development work, feel free to get in touch.

Get a Free Estimate