Check & Log Email hooks wp_mail() rather than replacing it, which lets it sit underneath any mailer plugin and record every outbound message without altering the sending setup. WP Mail SMTP, FluentSMTP, Post SMTP, generic SMTP setups, and direct provider integrations all route through wp_mail, and the plugin captures the message before the mailer hands it off. The plugin’s reason to exist is narrow: free logging for sites whose mailer does not include it, plus a test-send tool and sender overrides.
The plugin is maintained by
Magazine3, a Hyderabad-based WordPress developer. Active installs sit above 100,000, the rating averages 4.8 across 289 reviews, and the current release (2.0.14, May 2026) tests against WordPress 7.0. The free version covers logging, test-send, sender overrides and purge controls; a Pro tier ($49/year for one site, scaling to $199/year for unlimited or $499 lifetime) adds a “Triggered Data” debugger and priority support.
What it logs
Every email sent through wp_mail() is captured to a custom table. The log records the recipient, subject, headers (From, Reply-To, CC, BCC), the message body, the status returned by wp_mail (success or failure), the timestamp, and the names of any attachments. Attachments appear to be logged by filename only, not by content: storing arbitrary attachment bodies in the log table would be unusual and disk-heavy, and the readme makes no claim that the plugin does so. If the file matters for an audit, it lives in the originating plugin’s storage, not the email log.
API-mode mailers are the obvious question. WP Mail SMTP’s Postmark, SendGrid, Mailgun and SparkPost integrations, and FluentSMTP’s API mailers, do not replace wp_mail() itself: they swap out the underlying PHPMailer object so the message ships via the provider’s HTTP API instead of SMTP. Check & Log Email’s hook runs on the wp_mail call before the mailer takes over, so those messages are captured the same as SMTP-routed ones.
The admin interface presents a filterable table: by date range, recipient, subject, status. Individual entries open into a detail view with the full headers and body rendered, and the plugin includes a resend action that lets you edit and replay a logged message. Resend is the feature that earns the install when a contact form submission silently failed and the originating form plugin has already discarded the data; it is the feature WP Mail SMTP Pro charges for, and Check & Log Email gives it away. The free version stops at resend: there is no separate forward-to-a-different-address action.
Because the plugin hooks wp_mail, any message that bypasses the function is invisible to it. WordPress core, every major form plugin (Contact Form 7, Gravity Forms, WPForms, Fluent Forms), WooCommerce, and every SMTP mailer in the ecosystem all route through wp_mail, so coverage is effectively complete. The exceptions are plugins that call PHP’s mail() directly or use a provider SDK without touching wp_mail at all. Those are rare, and where they exist they are usually broken in other ways.
The test-send tool
The “Send a Test Email” screen takes a recipient address, a subject, a body, and an optional set of custom headers, then fires the email through whatever mailer is currently configured. The custom-headers field is the part worth using: it allows quick verification that Reply-To, From, or BCC overrides behave as expected before a real form goes live.
The tool is a confidence check, not a diagnostic. It confirms that wp_mail returned success and that the message reached the configured mailer’s outbound path. It does not test SPF or DKIM alignment, does not score the message against a spam filter, and does not show the receiving mail server’s response. For deliverability diagnosis, swaks and
Mail-Tester remain the right tools. Check & Log Email’s test send answers a narrower question: did WordPress hand the message off without erroring.
Sender overrides
The plugin exposes settings for the default From address and From name, which it applies via the wp_mail_from and wp_mail_from_name filters. This is the same mechanism every other mailer plugin uses, and the same conflict applies: if WP Mail SMTP, FluentSMTP, Post SMTP, or another mailer is also setting these values, the last filter to run wins. In practice that is usually the mailer plugin, because mailers load later in the request and re-apply their values closer to the send. Setting From overrides in both places is a common cause of “the address I configured is not the one being sent” tickets.
The correct posture: if a mailer plugin is installed, configure the sender there and leave Check & Log Email’s overrides empty. The override fields exist for sites that have no mailer at all and need to fix the [email protected] default without installing one.
Retention and storage
Logs accumulate. The plugin includes an automatic purge configurable by age, bulk deletion from the table view, and an option to clear logs on uninstall. There is no built-in size cap or row count limit, so a high-volume WooCommerce store sending order confirmations, shipping notifications and password resets will see the table grow steadily without a purge schedule set. The default is no purge; setting one is item one on the post-install list.
Logged bodies include whatever the originating plugin put in them, which on a membership site means password reset links, on a WooCommerce store means order details and customer addresses, and on a forms-heavy site means whatever users typed into the form. Treating the log table as personal data under GDPR or equivalent regimes is the safe default. The plugin does not provide built-in redaction or export-on-request tooling; that is on the operator.
Where it sits against the alternatives
WP Mail SMTP gates logging behind its Pro plan at $99/year on renewal. Sites on the free WP Mail SMTP plugin and unwilling to pay for Pro are the clearest fit for Check & Log Email: leave the mailer alone, add the logger alongside it, get the searchable record at no cost.
FluentSMTP and Post SMTP both include logging in their free versions. For a site choosing a mailer from scratch, one of these is the cleaner answer than running WP Mail SMTP free plus Check & Log Email: one plugin, one settings screen, one place to look when something goes wrong. Adding Check & Log Email to a FluentSMTP or Post SMTP install just duplicates the log.
Log Emails is the closest sibling: a free standalone logger with a narrower feature set and no Pro tier. Log Emails is the right pick for the minimum (log to table, view in admin, no resend, no overrides, no upsell). Check & Log Email is the right pick when the resend action, custom-header test-send or purge controls earn their place.
The Pro tier sits beside these as its own decision. The free version is the product; Pro adds Triggered Data, a debugger that surfaces the plugin or theme that originated a message, plus priority support. Sites that need to trace which code fired a specific email will find $49/year fair. Most sites will not need it, and the free version is not a demo built to push the upgrade.
Assessment
Check & Log Email is nanoPost’s recommendation for adding email logs to a WordPress site whose mailer is already configured and working. The plugin is free, narrowly scoped, and actively maintained. The resend-from-log action alone justifies the install on any site where contact form failures need a recovery path.
It is the wrong recommendation for sites configuring a mailer for the first time. Picking FluentSMTP or Post SMTP, both of which include logging in the free version, removes a plugin from the stack and keeps the configuration in one place. The “logger plus separate mailer” pattern is a solution to a constraint (mailer choice already made, paid logging not in the budget), not the architecture to design toward.
For the broader setup the plugin slots into, see how to set up WordPress email.
Plugin data verified June 2026 against
wordpress.org/plugins/check-email and
check-email.tech/pricing.
