
Mailkeep is a lightweight logging tool for one of the most invisible parts of a WordPress site: outgoing email. Every time WordPress, a plugin or a theme calls wp_mail() — a password reset, a new-order notification, a contact form submission, an admin alert — Mailkeep records it to a dedicated database table, independent of whatever SMTP or mail-sending service actually delivers it.
This makes it easy to answer questions that are otherwise hard to check: Did that notification actually get sent? What did the email say? Who received it, and when? You don’t need to reproduce the problem or dig through server mail logs — the answer is in your dashboard.
Because it hooks into wp_mail() itself rather than any particular plugin, Mailkeep works the same way regardless of what generates the email — core, WooCommerce, a contact form, a membership plugin, or custom code.
wp_mailkeep_logs), recording the recipient, subject, message body, headers, attachments list and content type.Mail bodies routinely contain sensitive one-click links — password resets, order-pay links, login tokens. Storing those in plain text would turn the log table into a security liability. Mailkeep redacts known sensitive query parameters (key, token, password, otp, order_key, and more, filterable via mailkeep_sensitive_keys) before anything is written to the database, and this is on by default.
If you’d rather not store message content at all, you can disable body logging entirely and keep only the recipient, subject and timestamp. Mailkeep also registers with WordPress’s built-in personal data export and erasure tools, so logged mail is included when you process a privacy request.
wp_privacy_personal_data_exporters / erasers.