Skip to content
Cloud docs

Send WordPress email reliably

Order confirmations and form notifications should leave through an authenticated service, not PHP mail.

Updated 20 September 20261 min readIntermediate

By default WordPress hands mail to the server's local sender. That mail is unsigned and arrives from an address nobody authorised, so receiving servers distrust it. Order confirmations end up in spam.

The fix

  1. Install an SMTP plugin

    FluentSMTP and WP Mail SMTP are both fine. Install one, not two.

  2. Authenticate against a real mailbox or API

    Your Workspace, 365 or Titan account, or a transactional provider such as Postmark, SendGrid or Brevo.

  3. Set the from address to that domain

    Sending as orders@example.com while authenticating as example.com passes alignment. Sending as a Gmail address does not.

  4. Send a test, then check the headers

    In Gmail, Show original should show SPF, DKIM and DMARC all passing.

Bulk mail is different

Newsletters to thousands of recipients belong with a marketing platform, not a mailbox. Sending them through Workspace or 365 hits daily limits and risks the account being suspended.

Transactional or marketing?

TypeExamplesSend through
TransactionalOrder confirmation, password reset, form notificationYour mailbox provider, or a transactional API
MarketingNewsletter, campaign, abandoned cartKlaviyo, Mailchimp, Brevo
Was this article helpful?

Related articles