WooCommerce uses WordPress's PHP mail() by default, which sends unauthenticated email that goes to spam. Fix: install WP Mail SMTP plugin + connect to an SMTP service (Postmark for best transactional deliverability at $15/month, or Brevo free for budget setups). This routes all WooCommerce email (order confirmations, shipping notifications, account emails) through authenticated SMTP. Setup takes 15 minutes.
WooCommerce Transactional Email Setup via SMTP
The Problem
A customer places an order. WooCommerce sends a confirmation email. The email goes to spam because WordPress used PHP mail() to send it from a shared hosting IP with no authentication.
The customer thinks the order didn't go through. They contact support. Or worse, they dispute the charge.
This is preventable with 15 minutes of setup.
The Fix
Step 1: Install WP Mail SMTP
WordPress Dashboard → Plugins → Add New → Search "WP Mail SMTP" → Install → Activate
Step 2: Connect to SMTP Service
For Postmark (Recommended for WooCommerce):
- Create a Postmark account at postmarkapp.com
- Add your sending domain → verify DNS records (DKIM + Return-Path)
- Get your Server API Token from Postmark
- In WP Mail SMTP → Settings:
- Mailer: Other SMTP
- Host:
smtp.postmarkapp.com - Port: 587
- Encryption: TLS
- Username: your Server API Token
- Password: your Server API Token
For Brevo (Budget Option):
- Create free Brevo account → get SMTP credentials
- In WP Mail SMTP:
- Host:
smtp-relay.brevo.com - Port: 587
- Encryption: TLS
- Username/Password: from Brevo SMTP settings
- Host:
Step 3: Domain Authentication
Add DNS records for your SMTP service:
- SPF include
- DKIM records
- DMARC record
See WordPress SMTP guide for detailed DNS instructions per provider.
Step 4: Test
WP Mail SMTP → Email Test → send to your personal email.
Then place a test order in WooCommerce. Verify the order confirmation arrives in inbox (not spam) with SPF/DKIM/DMARC passing.
WooCommerce Email Types
| Trigger | Priority | |
|---|---|---|
| New Order (admin) | Order placed | High |
| Order Confirmation (customer) | Order placed | Critical |
| Processing Order | Payment confirmed | High |
| Completed Order | Order fulfilled | High |
| Refunded Order | Refund processed | High |
| Customer Note | Admin adds note | Medium |
| Reset Password | Customer requests | Critical |
| New Account | Customer registers | High |
All of these route through WP Mail SMTP once configured. No per-email configuration needed.
Recommended Architecture
WooCommerce Store
├── Transactional Email (order confirmations, shipping, account)
│ └── WP Mail SMTP → Postmark ($15/month)
│ └── Authenticated, fast, dedicated transactional infrastructure
├── Marketing Email (campaigns, abandoned cart, post-purchase flows)
│ └── Klaviyo or Omnisend (separate ESP)
│ └── Separate infrastructure, separate reputation
└── Store Email (employee inbox)
└── Google Workspace or Microsoft 365
└── SPF, DKIM, DMARC on primary domain
This architecture ensures:
- Order confirmations always reach the inbox (Postmark's transactional infrastructure)
- Marketing campaigns don't affect transactional delivery (separate services)
- Employee email is properly authenticated
Practitioner note: WooCommerce transactional email going to spam is the #1 complaint I hear from ecommerce store owners who haven't set up SMTP. The fix is 15 minutes and $15/month. For a store doing $50K/month in revenue, even recovering 1% of orders that would have been lost to missed confirmations pays for Postmark's annual cost in a single day.
Practitioner note: If you're using a managed WooCommerce host (Pressable, Kinsta, WP Engine), they may have built-in SMTP. Check whether it includes authentication. Many managed hosts route through their own SMTP which may or may not have proper DKIM. Verify by checking email headers.
If you need WooCommerce email infrastructure set up correctly, schedule a consultation.
Sources
- WooCommerce: Email Settings
- WP Mail SMTP: Documentation
v1.0 · March 2026
Frequently Asked Questions
Why are my WooCommerce order emails going to spam?
WooCommerce uses WordPress's PHP mail() function, which sends unauthenticated email from your shared hosting IP. No SPF, no DKIM, no authentication. Receiving servers see this as suspicious and filter to spam. Route through SMTP to fix.
Which SMTP service is best for WooCommerce?
Postmark ($15/month for 10K emails) for best transactional deliverability. Brevo (free, 300/day) for budget setups. SendGrid ($19.95/month) if you also need marketing email from WordPress. For most WooCommerce stores, Postmark is the right choice.
Do I need a separate ESP for WooCommerce and marketing?
Ideally yes. WooCommerce transactional (Postmark) + marketing ESP (Klaviyo, Mailchimp) is the optimal setup. This separates transactional deliverability from marketing risk. At minimum, route all WooCommerce email through authenticated SMTP.
Will this work with my existing Klaviyo setup?
Yes. Klaviyo handles marketing (campaigns, flows). WP Mail SMTP + Postmark handles WooCommerce transactional (order confirmations, shipping). They're separate systems that complement each other.
How many emails does a WooCommerce store send?
Typical transactional volume: 2-5 emails per order (confirmation, processing, shipped, delivered, review request). A store with 500 orders/month sends ~1,500-2,500 transactional emails. Postmark's $15/month (10K emails) covers most stores.
Want this handled for you?
Free 30-minute strategy call. Walk away with a plan either way.