If you are serious about your WooCommerce store then the emails sending function is very important. Most of the time, you send emails to your customers following their purchases, their contact form submissions. You may also send emails contain coupons to your customers on their birthday. You also need to get emails regarding your store status. None of those things happen if you have WooCommerce not sending emails problem.
The prevalent of emails problems in WooCommerce (and WordPress)
By default, WooCommerce uses the wp_mail function of WordPress to process its emails. wp_mail in turn based on the mail function of PHP (the programming language that made WordPress). Without proper configurations, the mail function rarely works. On the occasions it does, most of your emails will go to spam folder. In fact, most sites use default mail settings, which make the mail sending success rate pretty low.
How to fix WooCommerce not sending emails
As you can see, WooCommerce has nothing to do with deliverability of its emails since it utilizes the function from WordPress. So, the right question to ask is how to fix WordPress not sending emails.
Fortunately, the fix is quite simple.
Let’s get started.
Step 1: Get a free email (gmail, mail.ru…)
The first step is to register an email. The reason is we are going to use the mail server of those email providers (gmail, mail.ru) to send our emails, not our host’s server. Using those email providers’ servers increases email deliverability (the success rate of sending email) greatly.
Step 2: Get the STMP configuration of your email
The configurations depend on the email service you use. For example, Gmail SMTP settings would be:
- Server address: smtp.gmail.com
- username: Your Gmail address (for example, firstname.lastname@example.org)
- password: Your Gmail password (or app password)
- SMTP port 587 (TLS)/465 (SSL)
- TLS/SSL required: Yes
If you use a different provider, you can search for provider + “smtp settings” to get the right configurations.
Now, you got the configurations. Let’s move to the next step:
Step 3: Install Easy WP SMTP plugin
Our next step would be installing Easy WP SMTP plugin (click on the link to download or you can install from your dashboard). It’s a plugin that let you specify the SMTP settings then wp_mail will use the mail server you put in this plugin to send email instead of your website’s host.
Now you have the plugin installed and activated, click on the settings link under its name:
You’ll see the page where you put all the details as below:
As you can see that, I use an account from mail.ru. However, with other email providers, you can enter the same details except these fields:
- From email address: that’s your email address
- From name: this is what your customers see in the sender name of your email. So, pick something that represents your store
- Reply to email address: When the recipients hit the reply button, which email will receive that reply. This could be a different email, maybe your dedicated email to handle supports
- SMTP host: the smtp server you got from Step 2 above
- SMTP user name: your email
- SMTP password: your email’s password (or app password in case of Gmail)
Now, with all the info entered, click on save changes.
Step 4: Test your email settings
The final step would be testing if the configuration works. Still in Easy WP SMTP, click on test email.
Enter a valid recipient in the To field and some dummy text in subject and message field then click on Send test email. If your setup is correct, you’ll see the email goes through:
As you can see, I got the test email in my other account.
Emails are still very important for any ecommerce store. In fact, it’s the main channel to communicate with your customers. If your WooCommerce store fails to send emails, that’s a big problem. Hopefully, the tutorial I made it this post can help you fix WooCommerce not sending emails problem. Notice that free email services have their limits on how many emails you can send per day (500 in the case of Gmail). If you go pass that limit, exceeding emails will not be sent. In that case, you may want to use a dedicated email service such as Amazon SES or Sendgrid to deliver your emails.