If you use WooCommerce, you have more than likely faced an issue with not receiving new order emails and notifications at least once. This can be incredibly frustrating!
I’ve experienced this issue on more than one site using WooCommerce, and it seems that each issue has a different solution. Trying to find the right solution can be challenging and time-consuming when there are so many ways to troubleshoot.
I will list all the solutions I know of, but there are probably many more I have missed. The NEW solution that I discovered is the last solution listed. It is what inspired me to write this blog post in the first place.
How WooCommerce Emails Are Sent
To first understand how to troubleshoot your issue, you should understand how emails are being sent when a WooCommerce order is made. WooCommerce sends emails by using the wp_mail() function which is a core function of WordPress. Since WordPress is not an email server it will ask PHP to send the email. PHP then checks for a local email server and asks that email server to send the email. This sounds a bit messy, doesn’t it? Before your email leaves your web server, it has gone through three loops!
Here is some helpful documentation from WooCommerce to get you started on troubleshooting: http://docs.woothemes.com/document/email-faq/
Here is the list of possible solutions:
Make Sure ALL Your WooCommerce Files Are Updated
This is an easy solution, but it is also easily overlooked. Make sure the WooCommerce plugin and source files are up to date.
Check Hosting Server
Most solutions claim that it has to do with a hosting related issue. You could be prevented from receiving notifications depending on your white-list or spam settings on your server. To help you determine if emails are being sent, use Email Log plugin to view the emails.
Set Up SMTP
Another popular solution is setting up a SMTP server to send your emails. Sending emails via a SMTP server ensures that your emails won’t go into spam folders of the recipients. I recommend using Easy WP SMTP Plugin or SendGrid.
This may not be an ideal solution because it costs money, but Zapier integration with WooCommerce is an awesome solution if you want to automate multiple tasks for each order. Not only can you easily customize notification emails to you and your customer, but you can also send the customer’s data to your CRM, a mailing list provider like MailChimp, an invoicing system, and more! I personally use Zapier because it saves so much time!
Use An Alias Email **New Solution**
I haven’t seen a solution like this anywhere else, so it was the main reason I wrote this post. After hours of trying to figure out why my client wasn’t receiving notifications, this was a lifesaver!
The problem wasn’t with WooCommerce because there were two other emails that were receiving new order notifications. The email that wasn’t receiving the new order emails was an email with the same domain as the website (i.e., Domain with WooCommerce is domainexample.com. Email to get notifications is email@example.com).
Since I had set up Google Apps for my client, and they were the only one not receiving emails, I decided to call Google, which has amazing support BTW. They gave me some great insight:
“Because your website and your Google Apps email address share the same domain name, the mail agent running on the server that hosts your website thinks that it is responsible for mail addressed to your domain name. This is a typical default setting.
When someone submits the form on your website, the mail agent recognizes your domain name and concludes that it should be sending mail to itself. The mail agent will attempt to deliver the message locally, however if you replace your Google Apps email for the test alias the system will recognize it as an external domain and will send the email without any problems.”
As you can see, this is contrary to the popular belief that you should set the notification email the same as your domain.
The solution here is to use an alias email. If you are using Google Apps for your domain, you should automatically have an alias email like so: firstname.lastname@example.org. If you use this alias email instead, your mail agent won’t get confused and send the email without any problems.
That’s it! After I changed the email, it fixed the problem, and my clients received email notifications just fine. If you are not using Google Apps and you are not given an email alias, you may have to use a different email outside of your domain’s email and have those emails forwarded to domain email.
25 thoughts on “Why Am I Not Getting New Order Notification Emails From Woocommerce?”
Thanks it started working for me ‘test-…’ thing worked for me.
Now I’m getting all emails,but I’m getting them 5-6 minutes later.
Possible issues ?
I had the same problem on my site, but I did try adding emails from private | public servers like google, yahoo, aol .. Etc.
It did work like a charm. but, right before adding the new emails on the GUI’s form must disable all the email’s plugin that may be conflicting with woocommerce plugin class; also those server email that are same as the website domain will create some conflict as well.
Jose B. ( Adcraft )
I was having the same issue… Admin emails were not being received but the customer was receiving their receipts… I found your article and changed the email address to something “non-domain” related and it works. Thank you! Now I can get back to running my business instead of playing developer.
This was an AWESOME post. It solved my problem. It was like you were speaking directly to me. Some emails were not going out when we were testing our soon to be launched Woo website. We quickly realized from your post that the emails that were not going out were from the same domain as the website. We used the provided Google business alias (Ah Ha! Now I know what I can use that for! I am glad that is there now!) and it solved the problem. My only concern would be if Google decided to delete these aliases as they say the word “temporary”. I researched it (a little bit) and did not find any plans from Google for deleting these. I just don’t like seeing temporary on anything that is responsible for an important outgoing transactional email. I guess the other alternative is to spend the $10/month for a Sendgrid account and use this process for mission critical emails. But if its not broke and its free…
Hey Scott! So glad you found this helpful. I had the same concerns as you about the temporary aliases, but when I spoke to Google’s reps they assured me we had nothing to worry about. 🙂
Also, Sendgrid is free! I have set it up for a number of clients and it works awesome!
Earth-date Aug 04,2016 – I installed ” Easy WP SMTP” and removed all other plugins related with email. This worked for me. Woocommerce (latest version 8/2016) nicely sends emails whenever a new order has been placed. After further investigation, indeed previously all Woocommerce new order mails were actually send, but got all treated as spam and so they indeed ended-up in the spam folder, and I did not notice. So the ” Easy WP SMTP” overrides the unwanted spam flag. Thanks a lot for this article. It’s been several days I have been analyzing the whole thing.So now I can enjoy my coffee again 😉
how can i know my alias email?
I had another issue why it wasn’t sending out the mails despite all plugins etc.
Check under “WooCommerce” -> “Settings” -> “E-Mails” your sender-Settings.
“from”-Name may NOT contain any periods, comas etc. –> just letters. So if you set something like “mydomain.com” as your “from”-name it’s not gonna work.
Solved my problem without any plugins (the plugin WP-Mail-SMTP is cool anyway)
Hi Im facing a problem that my woocommerce emails not recieving to customer, and wordpress and smtp test mail reciving fine,,,, dont know why and not getting solution, this method tried and not get success. please help.
Thankyou in advanced.
Yes. Alias worked for me. Also I added another email id as a recipient so that if any issues happens, I will get notifications atleast on alternate email id.
Thanks for posting this! This method totally worked for one of my clients. Certainly one to note as I’m about to have a similar setup with another client.
Hi, so I know this is an old issue but Im still stuck on this.
So when I enter the recipient emails adress (to receive new order notifications), it saves it successfully, but the adress does not appear in the table listing all the emails notifiactions.
To me, it saves the adress, and then considers there is not email entered and doesnt send new order emails.
Tried everything, smtp plugins, i am now using sendgrid to send emails. The recipient emails adress is a gmail adress, so no domain problems.
Anyways, thanks !
I’ve tried using SMTP but I’m still not receiving any order emails. This frustrating situation has been on since last week! Help, please!!!
Thanks for this posting! I’ve removed all of my smtp plugin, then I installed this plugin. Work perfectly for me.
Can you use the the gmail smtp alias without a google business account. I just have a self hosted email account and a generic gmail account. email@example.com
This is appalling, I have tried everything still no new order notifications-
woocommerce is shite!!!!!!!!!!!!!!!!!!!!!!!!!!!!11
Your help is much appreciated , Thank you very much. you saved my day.
have this issue : Admin emails were not being received but the customer was receiving their receipts… I found your article and changed the email address to something “non-domain” related and but it dosen’t work 🙁
many thanks for your help.
I have the same problem with my shop. I have tried with alias email, it did not work. It worked with non-domain email. Now we receive the orders, however the customer didnt receive a corformation.
Hello to you I am very grateful I have found this article or magnificent solution, I just use SMTP plugin Easy WP SMTP Plugin and set it up, thanks a lot to you.
In my website client received email of new order but recipient did not receive notification of new order. Why this is happened?
First impression is that this has fixed my issue, thanks for writing this blog post
Awesome, thank you!
In my case, it was working ok and suddenly not. I realized that initially I had my domain as alias of a different domain in cPanel. The main domain already had the redirection to the test domail, but when I changed to an Addon Domain (for SSL reasons), it stopped working. I’ve added the managing of the new addon domain to be redirected to the test domain as well as the original one is and it’s done!
Use An Alias Email **New Solution** This was exactly what I needed!!!! thank you time saver!
IT did work for me. thanks for your time writing this post