WooCommerce order emails in spam: why it happens and the checklist
WooCommerce order emails land in spam because WordPress sends them straight from the web server by default, without authentication and without reputation. The recipient sees a message claiming to come from your domain, sent by a server that cannot prove any of it. The fix is four steps: send through an SMTP relay with its own login, use a sender address on your own domain, get SPF and DKIM in order, and test at Gmail and Outlook rather than in your own mailbox.
What happens by default
WooCommerce uses the WordPress mail function, which hands the message to the web server's mail function. At most hosting companies that is a server shared by hundreds of websites, some of which are hacked and sending spam. That IP address has a fluctuating reputation, and it is not in your SPF record. On top of that, the message is not DKIM-signed for your domain. Three negative signals at once, before anyone looks at the content.
Why you do not notice
The test order you place arrives. Your own mailbox runs on your own domain or at the same hosting company, and trusts the message. The customer with a Gmail address gets it in spam, or not at all. You notice through the phone calls: "Did my order go through?" and through duplicate orders from customers who tried again.
The checklist
- Send via SMTP with a login. Install an SMTP plugin and enter your relay's details: server name, port 587 with STARTTLS, and a login created specifically for this shop. From then on every WordPress message leaves through a server with a reputation.
- Use a sender address on your own domain. Not a free address from a big provider, and not the customer's address. Set a fixed address such as orders@yourshop.be in the WooCommerce settings. Some plugins put the customer's address as sender on forms; switch that off and use the reply-to address.
- Set up SPF and DKIM for your domain. Add the relay to your SPF record and publish the DKIM key. With a relay that prepares this from the dashboard, it is two DNS records to copy. Add DMARC at the mildest policy so you receive reports.
- Check the content. An order email that consists of one large image, contains shortened links or loads dozens of product photos from another domain scores worse. The standard WooCommerce templates are fine; problems usually come from customised templates.
- Test at several providers. Place a test order with a Gmail address, an Outlook address and an address at a local provider. Open the message and check in the message details whether SPF, DKIM and DMARC pass.
- Look at the log. In your relay's dashboard you see per message whether it was delivered, bounced or refused, with the reason. Do that daily for a week after the switch.
Separate order emails from your newsletter
Many webshops send their newsletter from the same WordPress with the same settings. That is a risk: a newsletter that draws spam complaints drags the reputation of your order emails down with it. Use a separate login on the relay for the newsletter, or better still a separate subdomain, so the order confirmation always gets the path of least resistance. Why that distinction matters so much is on our transactional email page.
The pitfalls after the switch
A plugin that falls back to its default after an update. A hosting company that blocks outgoing connections on port 587; ask for that port to be opened. A caching plugin that delays sending. And the classic: someone changes the sender address to one on a different domain, and authentication fails from that moment on. Put a test order in your calendar once a month.
What you get out of it
Fewer phone calls, fewer duplicate orders, and customers who find their shipping confirmation without digging through spam. For a webshop the order confirmation is the most important email you send; it is worth an afternoon.
Frequently asked questions
Which SMTP plugin should I use?
Any plugin that makes WordPress send through an SMTP server with a login works. Pick one that is actively maintained and can send a test message.
My hosting company says mail just works. Is that right?
It leaves, yes. Whether it arrives at Gmail or Outlook is a different question, and you answer it with a test order to such an address.
Do I need to change the WooCommerce templates?
Usually not. Do check that the sender address and shop name in the settings are correct; that is what the recipient sees.