Mail logging – WP Mail Catcher



Logging your mail will stop you from ever losing your emails again! This fast, lightweight plugin (under 140kb in size!) is also useful for debugging or backing up your messages.

Just install and activate then all of your contact form emails will be logged and saved to your DB with no additional configuration required.

View and manage all your form submissions through the default WordPress interface. An email failed to send? With a single click you can resend the backed up email.

Send emails out directly from the WordPress interface. Also includes support for attachments.

Immediately find out if your contact form submission was successfully sent.


  • Zero setup required just install and away you go
  • Minimalistic no overbloated features you never use weighing your site down under 140kb in size!
  • Bulk export emails to CSV for easy inclusion into Excel or any other program
  • Compose new emails with the WordPress controls youre already familiar with
  • Resend your emails in bulk
  • Debugging see exactly which file and code line was responsible for sending the email, along with any errors encountered
  • Manage what user permissions can see the logs
  • Routinely have your logs cleared out at a specified time or keep them forever
  • Need to be notified when theres a problem sending your mail? Weve got hooks that allow you to do just that
  • Completely free

Hooks and actions

  • wp_mail_catcher_mail_success is triggered when a message is sent and logged successfully. It has a single argument that is an array containing the log
    • id related to the id in the mail_catcher_logs MySQL table
    • time relative, readable time to when the log was saved
    • email_to the email address(es) that the message was sent to
    • subject the subject line of the message
    • message the contents of the message
    • status an integer depicting if the message was sent successfully or not (1 = sent successfully. 0 = sending failed)
    • error the error that occurred if any
    • backtrace_segment a json_encoded object that shows which file and line the mail was initially triggered from
    • attachments a list of any attachments that were sent along with the email
    • additional_headers a list of any headers that were sent
    • attachment_file_paths a list of the location of any attachments that were sent
    • timestamp a unix timestamp of when the email was sent
    • is_html a boolean, that will be true if the message is a html email and false if not
    • email_from the from value of the email
  • wp_mail_catcher_mail_failed is triggered when a message failed to send and logged successfully. It has a single argument that is an array containing the log (same as the arguments for wp_mail_catcher_mail_success)
  • wp_mail_catcher_deletion_intervals is a filter that should return an array where each key is an amount of time in seconds, and the value is the label. Used to determine when a message has expired and should be deleted



Yup, completely 100% free, no premium add-ons or anything like that.

Yes, there are no adverts/annoying messages asking you to upgrade to pro or anything similar, 100% of the features are available.

Anything that doesnt unhook the native wp_mail function is supported, this includes but not limited to:
* WooCommerce
* Contact Form 7
* MailGun
* SparkPost
* Easy WP SMTP (excluding their test email function)
* SendGrid
* BuddyPress

Click here for a full list

  • WP Mail Bank (unhooks wp_mail filters)

If youd like to see support for these plugins or any other plugins please leave a feature request in our GitHub tracker

Great! Please leave a note in our (GitHub tracker)

Leave a Reply

Your email address will not be published.

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Most Viewed Posts