For any WooCommerce store, email notifications play a critical role in maintaining effective communication with customers. These emails inform customers about their purchases, send payment confirmations, and provide shipping updates. They also notify store administrators about new orders and other important events.

However, it’s quite common to encounter the “WooCommerce Not Sending Order Emails” issue. This problem can result in frustrated customers, missed sales opportunities, and a lack of trust in your brand.

In this comprehensive guide, we’ll explore the reasons behind the WooCommerce not sending order emails issue. More importantly, we’ll provide step-by-step instructions to resolve the problem using the incredibly useful Post SMTP plugin.

Ready? Let’s get started!

What Causes WooCommerce Not Sending Order Emails Issue?

WooCommerce relies on WordPress’s email-sending functionality, which has questionable email deliverability rates. Here are the primary reasons your WooCommerce emails may not reach their intended recipients.

Reason #1: WordPress Default Mail Function

WordPress’s default PHP mail() function is well-known for its unreliability. Many hosting providers disable this function to prevent spam activity, which can result in WooCommerce emails not being sent at all.

Even if PHP mail() is enabled, your emails may still fail to deliver due to:

  • Lack of Authentication: Emails sent via PHP mail() don’t include proper email domain authentication protocols such as SPF, DKIM, or DMARC. Without these, most email servers will flag your emails as suspicious or spam.
  • Shared Hosting Limitations: Shared hosting environments often have strict email-sending limits, and if these limits are exceeded, your emails may be blocked.
  • Spam Filters: Emails sent via PHP mail() often lack proper formatting or headers, making them more likely to be caught by spam filters.

Reason #2: WooCommerce Email Notification Settings

WooCommerce provides a dedicated section for configuring email notifications, but even small errors in these settings can result in emails not being sent.

Here’s what can go wrong:

  • Disabled Notifications: If specific notifications, such as New Order or Completed Order, are turned off, WooCommerce won’t send them.
  • Incorrect Recipient Email Address: If the admin email address in the New Order notification settings is incorrect, the store owner won’t receive these emails.
  • Unverified “From” Email Address: Some email servers block emails sent from unverified or mismatched “From” email addresses.

Reason #3: WooCommerce Pending Payment Status

Order status plays a crucial role in triggering WooCommerce email notifications. For instance, the Completed order status will trigger confirmation emails. However, if an order remains in the Pending payment status, then no email will be sent to the customer.

This issue often arises due to:

  • Customers are abandoning the checkout process.
  • Payment gateway errors prevent order status updates.
  • Manual payment methods (e.g., bank transfers) require admin approval before status changes.

3 Easy Steps to Fix the WooCommerce Not Sending Order Emails Issue

Now that we’ve identified the possible causes, let’s explore actionable steps to resolve them.

Step #1: Review WooCommerce Email Notification Settings

The first step in resolving email issues is verifying whether WooCommerce email notifications are properly configured.

  1. Access the Email Settings:
    • In your WordPress dashboard, go to WooCommerce → Settings → Emails.
    • You’ll see a list of all email notifications, such as New Order, Cancelled Order, Failed Order, etc.
  1. Enable Notifications:
    • Click the Manage button next to each email notification.
    • Ensure the Enable this email notification checkbox is ticked.
  1. Verify Recipient Email Addresses:
    • For admin notifications like New Order, confirm that the recipient’s email address is correct.
    • Avoid using free email services like Gmail or Yahoo; instead, use a professional domain email address (e.g., orders@yourdomain.com).

NOTE: You can get an email domain for free if you don’t already have one. Check out the guide on How to Get an Email Domain for Your Business – 100% Free.

  1. Check Email Content:
    • Make sure the subject line and email content are properly configured. In some cases, missing fields or errors in the email template can prevent emails from being sent.

Next, we will set up the SMTP connection to improve the email deliverability.   

Step #2: Install and Set Up Post SMTP Plugin

The most reliable way to fix WooCommerce email delivery issues or any WordPress not sending emails issue is by replacing the default WordPress mail function with SMTP. To do so, we will install the Post SMTP plugin.

Post SMTP is the #1 WordPress SMTP plugin. It doesn’t just let you connect to an SMTP server; it also provides many other useful features that help you optimize your email deliverability.

Post SMTP supports all popular SMTP service providers such as Gmail API, Microsoft 365 SMTP, Brevo, Mailgun, SendGrid, SendPulse, Mandrill SMTP, etc.

Additionally, using Post SMTP, you can:

  • Track every email sent from your WordPress site
  • Securely authenticate your SMTP mailer using OAuth 2.0
  • Set up a secondary SMTP mailer to ensure email delivery
  • Automatically retry sending any failed emails.
  • Receive daily, weekly, or monthly email health reports.
  • View and resend emails with attachments directly from the log screen.
  • Get failure alerts on admin email, SMS, or Slack.
  • Track emails from anywhere using the Post SMTP mobile app.
  • Email open tracking to optimize your email campaigns
  • Stay informed about email delivery failures through the Chrome Extension.

To set up the Post SMTP plugin, follow the steps below:

  1. Install the Plugin:
    • Go to Plugins → Add New Plugin in your WordPress dashboard.
    • Search for “Post SMTP” and click Install Now and Activate.
  1. Run the Setup Wizard:
    • Navigate to Post SMTP → Settings → Start the Wizard to begin the configuration process.
    • Select your preferred email provider, such as Gmail, SendGrid, or Brevo.
  1. Configure SMTP Settings:
    • Fill out the From Email and From Name fields. Then, enter your email service provider’s API key and click “Save and Continue.”
  1. Test Email Delivery:
    • On the subsequent screen, enter a valid email address in the Recipient Email Address field and click the Send Test Email button.

Resend Failed Email Notifications (Optional)

If you missed WooCommerce order notifications before configuring Post SMTP, you can resend them directly from the email logs. Follow these steps to resend failed email notifications:

  • Access the Email Log: Navigate to Post SMTP → Email Log in your WordPress dashboard to view a record of all email activity.
  • Identify Failed Emails: Look for any entries marked as failed. The log provides detailed status updates, helping you quickly pinpoint which emails weren’t sent successfully.
  • Resend Emails: Locate the failed emails and click the Resend button for each one. Post SMTP will use your updated SMTP settings to reattempt sending the emails, ensuring they reach the intended recipients.

Step #3: Force “From” Email Address

To avoid conflicts caused by plugins or themes, you can enforce a consistent “From” email address for all outgoing messages, including WooCommerce email notifications. This maintains uniformity and helps reduce email delivery issues.

Here’s how to set it up using the Post SMTP plugin:

  • Access Post SMTP Settings: In your WordPress dashboard, go to Post SMTP → Settings and navigate to the Message tab.
  • Specify the “From” Email Address: Enter the email address you want all your site’s emails to use in the Email Address field. Typically, this should match the email address you configured earlier.
  • Disable Overrides: Select the checkbox labeled Prevent plugins and themes from changing this to lock the “From” email address. This step ensures that no other plugin or theme can modify the address.
  • Save Your Changes: Click Save Changes to finalize the settings.

With these adjustments, all emails sent from your site—including WooCommerce notifications—will consistently use the specified “From” email address. This minimizes the likelihood of your emails being flagged as spam or blocked by email providers.

Don’t Forget to Check Your Email Spam Score

Even with an SMTP setup, WooCommerce email deliverability issues can arise if your domain has a high spam score. A high score signals that email servers could categorize your emails as spam. This typically happens when vital email authentication protocols—such as SPF, DKIM, or DMARC—are not properly configured.

To identify any issues, use the Post SMTP’s Spam Score Checker tool to evaluate your domain’s score. This tool provides detailed feedback on your domain’s reputation and actionable tips to lower the spam score, making it less likely for your emails to end up in spam folders.

Additionally, if you encounter challenges with setting up DNS records like SPF, DKIM, or DMARC, or if you face other email-related problems, you can contact us for expert guidance.

Remember that addressing these issues will help improve your WooCommerce email deliverability.

Final Remarks —WooCommerce Not Sending Order Emails

WooCommerce not sending order emails issue is undoubtedly very frustrating, but with the right tools and configurations, you can easily fix it.

To summarize:

  1. Review and fix WooCommerce email notification settings.
  2. Set up the Post SMTP plugin for reliable email delivery.
  3. Force the same “From” address for all outgoing emails
  4. Regularly monitor your email domain’s spam score.

By following these steps, you can resolve email delivery issues and improve customer satisfaction. However, if you continue to experience problems, feel free to contact us. We have a team of WordPress experts who can fix all email-related issues for you.