WP Test Email is a two-screen utility from the wp.org plugin directory: a Tools > Test Email form that fires a single message through wp_mail(), and a Tools > Email Logs table that shows every outbound message reaching the PHPMailer pipeline, retained for thirty days. There is no settings page. The plugin is free and GPLv2.
The case for it is narrow and worth stating up front: nanoPost recommends WP Test Email when the operator wants exactly two things in one plugin (a button that sends a test email and a rolling thirty-day log of what got sent), accepts a log schema that records four fields per message rather than the full envelope, and accepts the capture gap that comes with the phpmailer_init hook. For a richer log on production, Check & Log Email remains the recommendation; for development environments, Log Emails is the more natural companion to Disable Emails.
The plugin is maintained by
Boopathi Rajan. Active installs sit above 20,000, the rating averages 4.7 across 15 reviews, and the current release (1.1.7, July 2024) tests against WordPress 6.6.5. There is no Pro tier; the wp.org page carries a PayPal donate link and nothing else.
What it records
Each captured email becomes one row in a custom database table (wp_*_test_email_logs, where wp_* is the site’s table prefix). The row carries six columns: id, time, to_email, subject, body, and status. That is the whole log schema. There is no column for From, no column for Reply-To, no column for CC or BCC or arbitrary headers, no column for Content-Type, no column for the plain-text alt body, and no attachment record. Anything outside the recipient address, the subject line, the rendered body, and the success-or-failure status is invisible after the message has been sent.
The admin screen renders the table as a paginated list. There is no resend action, no forward-to-a-different-address action, no per-row export, and no sender override anywhere in the plugin. It is a viewer, not a workbench.
Where it hooks
The plugin runs on two hooks. admin_menu registers the two Tools-menu pages; phpmailer_init captures the outbound message off the PHPMailer object and writes the row. An activation hook creates the table on install, and a daily WP-Cron event (wp_test_email_clear_logs) handles the purge.
The capture point is phpmailer_init, which is the same hook Log Emails uses, and it inherits the same coverage profile: mail that short-circuits wp_mail via the pre_wp_mail filter (added in WordPress 5.7), calls PHP’s mail() directly, or ships through a vendored SDK never reaches PHPMailer and never appears in the log. In practice the configuration that breaks coverage is provider-API mode in WP Mail SMTP, FluentSMTP, Post SMTP and similar mailers; SMTP-mode operation on the same plugins captures normally.
What WP Test Email does differently from Log Emails at this hook is what it does not do: there is no separate wp_mail filter recording the function’s arguments before PHPMailer is touched, no BuddyPress fallback for plugins that bypass wp_mail and build their own outbound, and no password-redaction pass on the body before storage. The capture is the simplest possible read off the PHPMailer object and a row insert.
The test-send tool
Tools > Test Email takes a recipient address and a subject. It builds a short fixed body, sanitises both inputs, calls wp_mail(), and reports whether the function returned success.
What this answers: wp_mail accepted the message and the configured mailer’s outbound path did not error. That is the useful answer when a contact form is silently failing and the operator needs to confirm the WordPress side is wired correctly before chasing the receiving server.
What it does not answer: SPF or DKIM alignment, DMARC pass or fail, the receiving mail server’s response code, whether the message landed in inbox or spam, whether the configured From address is the one the SMTP server is willing to send under, or whether a provider HTTP API would accept the same message. For those, swaks and
Mail-Tester remain the right tools. The narrower question of whether WordPress handed the message off without erroring is what WP Test Email’s test send answers.
Retention
The daily WP-Cron event deletes any row older than thirty days. The interval is hard-coded; there is no settings UI to change it, disable it, or extend it. Sites that need a longer audit window have to add their own scheduled job or take a periodic dump of the table.
The fixed window is a deliberate simplicity choice. There is no purge schedule to configure, no maximum row count to size against the busiest day of the month, and no migration when traffic doubles. The flip side is that the operator has no lever; a regulatory request for ninety days of mail history is answered with the most recent thirty, and nothing earlier. Sites with that kind of requirement should be on Check & Log Email or running mail capture at the transport layer.
Maintenance cadence
Version 1.1.7 shipped on 2024-07-31. As of June 2026 the plugin has not seen a release in roughly twenty-three months. Tested-up-to is WordPress 6.6.5; WordPress has released later branches since.
The trunk on the wp.org SVN sits at an unreleased 1.1.10, so the vendor is working on the plugin, just not shipping. For an operator picking a logger today, that means the version that installs is the version that has been installed since mid-2024: no quiet improvements have reached the stable tag in that window, and no quiet regressions have either.
The plugin is small, the hook surface is small, and there is nothing in its behaviour that breaks across WordPress branches in obvious ways. But a logging utility’s value is partly that it stays current with the platform it logs; a vendor that ships one stable release every two years is in a different category from FluentSMTP‘s fortnightly cadence or Check & Log Email‘s monthly one. Operators who want a plugin they will not think about for the next five years should price the cadence in.
Where it sits against the alternatives
Log Emails is the closest sibling. Same phpmailer_init capture point, same coverage profile. Log Emails records more per entry (From, Reply-To, Content-Type, alt body, plus a line-based password redaction pass) and exposes a configurable retention window from one day to indefinite. WP Test Email records less and locks retention at thirty days. The trade is symmetric: WP Test Email adds a test-send screen that Log Emails has never had.
Check & Log Email is the production-grade comparison. It hooks the wp_mail filter directly rather than capturing through phpmailer_init, which closes the API-mode coverage gap. It records full headers, ships a resend-from-log action, and offers a custom-header test-send. The free tier covers what most sites need; the Pro tier ($49/year and up) adds a debugger that traces which plugin originated a message. On a production site that wants a standalone logger, Check & Log Email is generally the recommended choice.
WP Mail SMTP free does not log. The Pro tier ($49/year on entry pricing) does, and includes its own email-test tool. Sites on free WP Mail SMTP unwilling to pay for Pro are the population WP Test Email and its siblings address.
FluentSMTP and Post SMTP both include logging in their free versions. For a site choosing a mailer from scratch, one of those is the cleaner answer than running a separate logging plugin: one stack, one settings screen, one place to look when something goes wrong.
Assessment
WP Test Email is the right install for a site whose operator wants a one-button test send and a rolling thirty-day log of outbound mail, with nothing to configure. The plugin is the smallest credible utility in the category: four fields per row, thirty days of retention, no settings, no Pro upsell, 20,000+ sites running it. That is its case.
It is the wrong install for a site that needs a richer log. Recipient, subject, body and status are the bare minimum; an operator chasing a From-address conflict, a Reply-To override that did not survive a filter chain, or a Pro-tier transactional plugin’s HTTP-API send will be looking at fields WP Test Email never recorded or at messages it never saw. Check & Log Email is the production-grade upgrade; Log Emails is the closer companion for development environments paired with Disable Emails. Sites whose mail is silently failing should start at the WordPress email troubleshooting guide; the logger is a surface, not a cure.
For the broader setup the plugin slots into, see how to set up WordPress email.
Plugin data verified June 2026 against
wordpress.org/plugins/wp-test-email and the plugin source on the WordPress plugin SVN.
