WooCommerce sends order confirmations, shipping updates, and password resets straight from PHP by default, and that's a common reason store emails end up in spam or don't arrive at all. The fix is to route WooCommerce mail through real SMTP authentication instead of PHP's mail() function, using the mailbox you already have on your hosting.
Flashcloud gives every hosted domain SPF and DKIM configured automatically, which is exactly what authenticated SMTP needs to work. PHP's mail() skips that authentication path entirely, so even though the message technically sends, receiving mail servers see it as unauthenticated and often bin it.
Set up SMTP for WooCommerce
Install an SMTP plugin (WP Mail SMTP and FluentSMTP both work well with WooCommerce) and connect it to a mailbox on your domain rather than a free Gmail or Outlook address. Create one on most hosting accounts if you don't already have one; something like orders@yourdomain.com works well as a dedicated sending address.
The connection settings are the same ones you'd use in any email client:
- Host:
mail.yourdomain.com - Port:
465with SSL, or587with STARTTLS - Username: the full email address
- Password: the mailbox password
Once it's connected, send a test email from the plugin's settings page before trusting it with real orders. Most SMTP plugins have a built-in test-send tool for exactly this.
Set the "from" address correctly
In WooCommerce → Settings → Emails, set the "from" address to match the mailbox you configured in SMTP. A mismatch here, sending as noreply@yourdomain.com through an SMTP connection authenticated as orders@yourdomain.com, is a common reason DKIM alignment fails even when SMTP is set up correctly. Keep them identical.
If you want stricter enforcement of who's allowed to send as your domain, open a support ticket and our team can help review your DMARC setup.
Why not use PHP's default mail function
Beyond the authentication gap, PHP mail() gives you no delivery confirmation, no bounce handling, and no logs to check when a customer says they never got their order confirmation. SMTP plugins log every send attempt with a success or failure status, which turns "did the email even go out" from a guess into something you can actually check.
Where store emails fit into performance
Email delivery is separate from page speed, but if your checkout process itself feels slow, that's usually a caching or plugin-weight problem rather than an email one. See How we make your site fast for what's cached and how, and Running a WooCommerce store for what to check first.
Test after any theme, plugin, or payment gateway change
Email templates and triggers can break silently when a plugin updates or a theme override changes. Before pushing a change like that live, test it on a staging copy of your store rather than finding out from a customer that order emails stopped going out. See Running a WooCommerce store for the staging workflow.
When to open a ticket
If test emails send successfully from your SMTP plugin but customers still report missing mail, or if you suspect your domain's messages are landing in spam industry-wide rather than just with one provider, open a ticket from the portal's Support section. A real person can dig into the delivery issue from our side and help narrow down where it's breaking.