Free WordPress Plugin

Simple WP Mail Log

Logs every outgoing wp_mail() call and local send failures. Useful for debugging. No bloat, no upsells.

Tools → Mail Log
Date Status To Subject Context
2026-03-09 09:14:02 Attempted user@example.com Your order has been received frontend
2026-03-09 09:11:38 Failed admin@example.com New contact form submission frontend
2026-03-09 08:55:10 Attempted user@example.com Password reset request admin

Quiet logging for WordPress mail

Hooks into wp_mail() and records every outgoing email attempt. If WordPress reports a local send failure, that gets recorded too — attached to the same log entry.

📎

Logs every attempt

Records every wp_mail() call with full data: recipients, subject, body, headers, attachments, and content type.

⚠ïļ

Captures local failures

When WordPress reports a send failure via wp_mail_failed, the error is attached to the original log entry.

🔍

Full detail view

Inspect any log entry in full — body, headers, error data, request context. Useful for debugging CF7, WooCommerce, and SMTP issues.

🗓ïļ

Auto-expiry

Logs expire automatically. Default retention is 30 days. Configurable from 7 to 365 days via Settings.

🔒

Admin-only

The log is restricted to administrators. No public endpoints, no exposed data.

ðŸŠķ

No bloat

No dashboard widgets, no top-level menus, no upsells, no nags. Lives quietly under Tools → Mail Log.

What it does not do

This plugin reflects what happened inside WordPress at send time. It does not prove delivery to the recipient.

Up in a minute

Standard WordPress plugin installation. No configuration required to start logging.

  1. Download the ZIP using the button above.
  2. Go to Plugins → Add New → Upload Plugin in your WordPress admin.
  3. Upload the ZIP and activate.
  4. Trigger any wp_mail() call — submit a Contact Form 7 form, place a WooCommerce test order, or use the password reset flow.
  5. Find your log under Tools → Mail Log.