Skip to main content
WordPress ships with one method for sending mail: PHP’s mail() function, called through the wp_mail() wrapper every plugin and theme relies on. It works fine in a demo. It falls apart the moment a real inbox provider gets involved, because a message sent through local mail() carries no authentication, no reputation, and no way for Gmail or Outlook to confirm your server is who it says it is. Password resets, order receipts, and quote requests routed this way are guesswork, not delivery. WP Postman replaces that transport. It’s pre-installed and pre-activated on every WP Stratos site, and it gives you a working delivery path from the moment your site launches, plus the logging you need to prove (or disprove) that a specific message actually went out.

What it actually does

WP Postman doesn’t add one SMTP connection. It gives you eight, and they work in two structurally different ways:
1

The native WP Postman relay

When you select the default WP Postman delivery method, the plugin skips SMTP entirely. It hooks pre_wp_mail, builds a signed MIME message with PHPMailer locally, then hands that raw message to WP Stratos’s managed delivery API over an outbound HTTPS request. No SMTP handshake, no SMTP port. This matters on hosts and networks that throttle or block outbound port 587/465/2525, since HTTPS on port 443 almost never is. It’s also why this is the fastest path to get working: paste one API key into wp-config.php (or add it remotely through Developer Settings if you’d rather not touch files directly) and mail starts flowing, no host or port lookup required.
2

Every other delivery method

SMTP.com, Brevo, Mailgun, SendGrid, Gmail, and Other SMTP all configure PHPMailer’s native SMTP client through the phpmailer_init hook, the same mechanism most SMTP plugins use. These are real SMTP connections to real SMTP hosts, authenticated with the credentials you provide.
That split is worth understanding before you touch any settings, because it changes what shows up in your email logs later. Messages sent through the native relay get a transaction ID and a live, queryable delivery status. Messages sent through SMTP only ever report Sent or Failed, because standard SMTP has no built-in mechanism to confirm the receiving server actually placed the message in an inbox.

The eight delivery methods, at a glance

Every field on every panel, including which settings are safe to change freely versus which ones need a test send afterward, is documented on the Delivery Method Configuration page.

What gets recorded

Every send attempt, regardless of which method handled it, writes a row to a dedicated database table (wp_wpp_mail_log). That table tracks the recipient, sender, subject, delivery method, status, HTTP response code where applicable, error message on failure, and optionally the full message body. Nothing here depends on WordPress’s own transient or debug log, so the record survives independently of WP_DEBUG settings and doesn’t compete with anything else for log space. Retention is configurable from one day to forever, and body storage can be switched off entirely if you’d rather the database not hold copies of message content. The full breakdown of the log screen, including the difference between Sent and Delivered, is on the Email Logs page.

Finding your way around

WP Postman adds one sub-level admin menu item with five tabs (Settings → WP Postman):
WP Postman is a WP Stratos managed plugin. If you deactivate it, it reactivates automatically the next time it receives an update, the same behavior as Aero and WP Stratos Environment. See Plugin Reactivation if that’s unexpected.

Where to go next

Delivery Method Configuration

Every field, every panel, and which settings are safe to change without testing.

Email Logs

Read delivery status correctly, tell a bounce apart from a misconfiguration, and manage log retention.

Email Delivery Troubleshooting

Diagnose authentication errors, spam filtering, connection timeouts, and SPF/DKIM problems.
Last modified on August 24, 2026