1. Documentation /
  2. Email FAQ

Email FAQ

WooCommerce, and most plugins sending email, send mail by using the wp_mail() function which is a core function of WordPress.

In most cases, if email is not being sent/received, then the issue is not with WooCommerce itself, but with the core email function on your web host. Read on for solutions to common issues, however, try installing the MailPoet (Plugin), activate an account using the starter plan, and bypass the web host server entirely.

I am getting orders, but no emails are sending!

↑ Back to top

There are multiple factors that can be the cause. Before explaining the actual mail side of the issue, please ensure that it’s not one described below.

Check if orders are pending

↑ Back to top

If your new orders have the status Pending, no email would have been sent yet. Pending orders are orders where the customer selected Place Order but abandoned the payment page (depending on the payment gateway, i.e., PayPal) or had their credit card transaction declined.

If you have pending orders but receive payment for them via a payment gateway such as PayPal, the orders are not being updated, and this could indicate a problem with the payment gateway. In this case, you are not looking at an email issue; you are looking at an issue with your payment gateway and may need to submit a support ticket.

For PayPal Standard, we have this troubleshooting page.

Plugins can also return errors before status changes occur. To find out what may be causing this, you can either rule out conflicts by disabling plugins/themes other than WooCommerce itself, or you can use the WP debug log to view errors. If there are ‘fatal errors,’ this may be the problem.

Check your Email Settings

↑ Back to top

Orders that are properly updating to Processing should generate an email.

Another possible issue is mistakenly disabling emails from sending. Double-check that “Enable this email notification” is ticked for order notifications at WooCommerce > Settings > Emails and select the Processing Order email template. An additional test should be setting the Email Type to plain text.

Check if emails are sent, but not received

↑ Back to top

If emails are enabled and orders are updating to Processing, there could be an issue in the email delivery to a recipient. This could be a spam blocker that classified your emails are spam and stopped them. Installing a mail logging plugin can help.

Install WP Mail Logging plugin. This will log all outgoing emails so you can see what is being sent. Once installed:

  • Generate a test order
  • Go to your admin dashboard > WP Mail Log
  • Check that your test order generated an email, and if there are any sending errors reported

After a successful send, the screen should look something like this:

If the email was sent, but not received, there are a few steps that can be taken:

  • Make sure you’re using an email address attached to your own domain in the “From” Address field in WooCommerce > Settings >Emails. Using your @gmail.com, @yahoo.com or similar public domain email address will likely cause emails to land in spam folders due to mismatch between the declared sender (servers of Gmail or Yahoo) and the actual sender (your server).
  • Sign up for an account with a dedicated SMTP provider (an average site can usually stay within free usage) that will send the email for you. This should be more reliable than your own server’s mail-sending function.

If the email was not sent, this could indicate a plugin conflict blocking the send by, for example, erring before they are generated. To find out what is causing this, you can either rule out conflicts by disabling plugins/themes other than WooCommerce itself, or you can use the WP debug log to view errors. If there are ‘fatal errors,’ this may be the problem.

What is a dedicated SMTP provider? Is that like my Gmail account?

↑ Back to top

A dedicated SMTP provider is like web hosting, but for email. The difference is instead of hosting websites, you use the servers of the host (or SMTP provider) to send and receive emails.

While Gmail is an email provider where you send and receive emails, its most common application is for a human to log in and use it on the web. A dedicated SMTP provider lets you use your own domain name, connect to it via external services (such as your WooCommerce store), and is usually less strict in terms of volume limits.

Can I use Gmail as my SMTP provider?

↑ Back to top

Yes, but it is not ideal. Gmail will disable your account if you send emails to more than 500 unique recipients in a 24-hour period. This includes emails you send yourself and all emails your website is sending. More at: Google Support: Gmail Answers.

Suggested Dedicated SMTP Providers

↑ Back to top

There are dedicated SMTP providers that work for most websites. All have their own plugin on WordPress.org, can be installed from your WordPress dashboard, and have support available to help you get started.

The team at MailPoet, the developers of the WP Mail Logging plugin, wrote up an article about SMTP and WordPress which you may find useful.

How does email work?

↑ Back to top

Comparing a path an email takes to reach its destination vs. driving a car on a road trip, emails do not travel directly from point A to point B. The final destination is more like point W, and the email is bouncing from one server to another at the speed of light while being filtered at each step.

Google has compiled this representation of the path an email follows. This story is specific to Gmail and delivering to a mobile device but helps explain how email works. More at: Story of Send.

How does email work with WordPress?

↑ Back to top

WooCommerce, and most plugins sending email, send mail by using the wp_mail() function that is a core function of WordPress.

Does that mean WordPress sends my email? Is WooCommerce sending the email?

↑ Back to top

Neither are sending the email. What happens is WooCommerce calls the wp_mail() function, which then requests WordPress to send the email. Because WordPress is not an email server, it typically asks PHP to send the email for it. PHP then checks for a local email server within the web server and tells that email server to send the email. Your email takes three steps before reaching your web server.

If email is passed to my webserver to be sent, how does a dedicated SMTP provider fit in?

↑ Back to top

By using a plugin the SMTP provider has available or the Post SMTP plugin, the wp_mail() function reroutes the email from PHP to your SMTP provider. From there, the SMTP provider receives the request and adds your email to a queue to be sent.

If emails are being blocked by spam filters, why is it not in my spam folder?

↑ Back to top

The spam filter is the last and final spam filter your email is filtered through, at which point it is going to spam based on your email client settings or how you mark other emails as spam. If your emails are denied by another spam filter before that, it simply is not delivered.

My contact form emails work, so why do WooCommerce emails get blocked?

↑ Back to top

Without deep investigation into server logs and tracking exact email paths, this is not a simple question to answer.

  • The short version is there is a lot more to spam filters than scanning for typical spam. Spam filters check the IP address of origin, the sending user and domain, the amount of email that IP/sender has sent, how many times emails from that sender have been marked as spam, and the wording of emails.
  • The most common factor is where the email originates, which brings your overall score with spam filters down low enough that even minor differences in wording and formatting of WooCommerce emails may be flagged as spam and not sent.

Resources

↑ Back to top

SenderScore by ReturnPath

↑ Back to top

Check and monitor the reputation of your websites IP address for sending emails, if you have your own dedicated server for sending emails. You can also use this for shared and virtual hosting environments, but it is better to get a dedicated SMTP provider instead because those environments are not recommended for sending emails. Visit Senderscore.org to learn more.

Questions and Support

↑ Back to top

Do you still have questions and need assistance? 

  • Get in touch with a Happiness Engineer via our Help Desk. We provide support for extensions developed by and/or sold on Woo.com, and Jetpack/WordPress.com customers.
  • If you are not a customer, we recommend finding help on the WooCommerce Support Forum or hiring a WooExpert agency. They are trusted agencies with a proven track record of building highly customized, scalable online stores. Learn more about WooExpert agencies.