WooCommerce transactional emails keep customers informed about orders, payments, and account activity. However, messages may fail when your application server uses unreliable default mail settings. A separate Linux SMTP VPS lets your store submit email through a controlled mail server. Here’s how to connect both systems safely.
How WooCommerce Transactional Emails Work
WooCommerce creates notifications such as new-order, processing-order, and completed-order emails. WordPress passes them through wp_mail(). An SMTP plugin then sends them to your mail server instead of relying on the web host’s default PHP mail route.
Your application hosting runs WordPress and WooCommerce. Meanwhile, the SMTP VPS handles outgoing email. They can be separate servers; you don’t need to move the store.
Step 1: Prepare Your Linux SMTP VPS
Install and secure a mail transfer agent such as Postfix. Use a hostname like mail.example.com, with a matching forward DNS record and PTR/rDNS entry. Configure an authenticated submission service with TLS on port 587 (STARTTLS) or 465 (implicit TLS).
Port 25 is mainly for mail-server delivery. Your VPS needs outbound port 25 only when delivering directly to recipient mail servers. Restrict authenticated submission to trusted connections and never operate an open relay.
CybroHost SMTP VPS Hosting provides Linux root access, port 25 access, and PTR/rDNS control for self-managed mail workloads.
Step 2: Set Up Email Authentication
Publish an SPF record for your actual sending service. Next, enable DKIM signing and publish its public key. Add DMARC and verify that SPF or DKIM aligns with your From domain.
Also check your VPS hostname, reverse DNS, TLS certificate, and sending IP reputation. These settings improve trust, but they cannot guarantee inbox placement.
Step 3: Configure WooCommerce Email Settings
In WordPress, open WooCommerce → Settings → Emails. Enable the required order notifications and set a branded sender, such as orders@example.com. Review each email’s recipient and subject. Use your own domain rather than an unrelated free-mail address.
Step 4: Connect WordPress to SMTP
Install a reputable SMTP plugin compatible with wp_mail(). Choose its Other SMTP option, then enter:
- SMTP host:
mail.example.com - Port:
587with required STARTTLS, or465with SSL/TLS - Authentication: Enabled, using a dedicated SMTP account
- From address:
orders@example.com, authorized on your mail server
Store credentials securely. Also, allow connections from your application host to the VPS submission port.
Step 5: Test Orders and Check Logs
Send a plugin test message. Then place a test order and verify its status, email generation, and delivery. Check inbox and spam folders. Review WooCommerce → Status → Logs and the transactional-emails source where available. The WooCommerce email troubleshooting guide explains how to separate generation failures from delivery problems.
If mail fails, check authentication, TLS, firewall rules, queue errors, and recipient responses before retrying.
FAQs
Do WooCommerce and SMTP need the same VPS?
No. Your store can run on application hosting while a separate Linux SMTP VPS delivers mail.
Should WooCommerce use SMTP port 25?
No. Use authenticated submission on 587 or 465. Port 25 is for direct server-to-server delivery.
Does SMTP guarantee WooCommerce emails reach inboxes?
No. SPF, DKIM, DMARC, IP reputation, and recipient filtering still affect delivery.
Final Recommendation
Separate application hosting from email delivery when you need more control. Configure secure SMTP, verify domain authentication, and test real order notifications before launching.
