{"id":290274,"date":"2026-03-24T09:18:02","date_gmt":"2026-03-24T09:18:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/grlca-mailguard\/"},"modified":"2026-03-24T09:19:36","modified_gmt":"2026-03-24T09:19:36","slug":"grlca-mailguard","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/grlca-mailguard\/","author":13472264,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"GrL'Ca MailGuard","header_author":"GrL'Ca","header_description":"Email delivery monitor for WordPress. Logs every sent and failed email, detects type, and enables one-click resend. Free forever.","assets_banners_color":"","last_updated":"2026-03-24 09:19:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/grlca.com\/mailguard","header_author_uri":"https:\/\/grlca.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":65,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"Groundfire","date":"2026-03-24 09:19:36"}},"upgrade_notice":{"1.1.0":"<p>The plugin automatically adds two new database columns (email_type, resend_count) on first load after upgrade. No data is lost and no manual steps are required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3489768,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3489768,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"<strong>Email log<\/strong> \u2014 Full audit trail with status badges, email type tags, and one-click resend","2":"<strong>Dashboard<\/strong> \u2014 Delivery stats and activity chart for the last 7\u201330 days","3":"<strong>SMTP Setup<\/strong> \u2014 Quick-select provider presets with test email button","4":"<strong>Settings<\/strong> \u2014 Log retention, body storage, and plugin info","5":"<strong>Dashboard widget<\/strong> \u2014 At-a-glance stats on the WordPress dashboard"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[258499,26736,450,6696,26756],"plugin_category":[41],"plugin_contributors":[250106],"plugin_business_model":[],"class_list":["post-290274","plugin","type-plugin","status-publish","hentry","plugin_tags-delivery-monitor","plugin_tags-email-log","plugin_tags-mail","plugin_tags-smtp","plugin_tags-woocommerce-email","plugin_category-communication","plugin_contributors-groundfire","plugin_committers-groundfire"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/grlca-mailguard\/assets\/icon-128x128.png?rev=3489768","icon_2x":"https:\/\/ps.w.org\/grlca-mailguard\/assets\/icon-256x256.png?rev=3489768","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Does your WordPress site silently lose emails?<\/strong><\/p>\n\n<p>A customer completes a purchase but never receives the order confirmation. A user requests a password reset that never arrives. You have no idea \u2014 everything looks fine in the admin.<\/p>\n\n<p>WordPress has no native email log. When an email doesn't arrive, there's no trace of what happened, why it failed, or even whether it was sent at all.<\/p>\n\n<p><strong>GrL'Ca MailGuard fixes that.<\/strong><\/p>\n\n<p>It hooks directly into <code>wp_mail()<\/code> and records every single outgoing email \u2014 recipient, subject, status, SMTP response, and full error details. Zero configuration needed to start logging.<\/p>\n\n<h3>\ud83d\udd0d Complete Email Audit Trail<\/h3>\n\n<p>Every email your site sends is recorded with:<\/p>\n\n<ul>\n<li>Recipient address and subject line<\/li>\n<li>Delivery status (sent or failed)<\/li>\n<li>Exact SMTP server response<\/li>\n<li>Full error message on failure<\/li>\n<li>Automatic email type detection (WooCommerce orders, password resets, new user registrations, and 20+ more)<\/li>\n<\/ul>\n\n<h3>\ud83d\udd04 One-Click Resend<\/h3>\n\n<p>Found a failed email in the log? Resend it directly from the log table with a single click. No copy-pasting, no manual re-triggers. The original recipient, subject, and content are used automatically.<\/p>\n\n<h3>\ud83d\udd27 SMTP Configuration<\/h3>\n\n<p>Configure your outgoing mail server with quick-select presets for the most popular providers:<\/p>\n\n<ul>\n<li>Gmail \/ Google Workspace<\/li>\n<li>Microsoft 365 \/ Outlook<\/li>\n<li>SendGrid<\/li>\n<li>Mailgun<\/li>\n<li>Brevo (formerly Sendinblue)<\/li>\n<li>Amazon SES<\/li>\n<li>Any custom SMTP server<\/li>\n<\/ul>\n\n<p>A built-in test button sends a verification email and shows the exact server response so you know immediately whether your configuration works.<\/p>\n\n<h3>\ud83d\udcca Dashboard Widget<\/h3>\n\n<p>At-a-glance delivery stats right on your WordPress dashboard \u2014 sent count, failed count, and delivery rate for the last 7 days. Plus a full activity chart with 7, 14, and 30-day ranges.<\/p>\n\n<h3>\ud83c\udff7\ufe0f Automatic Email Type Detection<\/h3>\n\n<p>MailGuard automatically classifies every email so you can filter the log by type:<\/p>\n\n<pre><code>wc_new_order \u00b7 `wc_completed_order` \u00b7 `wc_cancelled_order` \u00b7 `wc_refunded_order` \u00b7 `password_reset` \u00b7 `new_user` \u00b7 `comment_notification` \u00b7 and more.\n<\/code><\/pre>\n\n<p>Extend with the <code>grlca_mg_detect_email_type<\/code> filter to add your own types.<\/p>\n\n<h3>\u26a1 Zero Configuration to Start<\/h3>\n\n<p>Activate the plugin. That's it. MailGuard immediately begins logging every email. No API keys, no external accounts, no setup wizard required for the core functionality.<\/p>\n\n\n\n<h3>\ud83d\ude80 Free vs Pro<\/h3>\n\n\n\nFeature\nFree\n<a href=\"https:\/\/grlca.com\/mailguard\/\">Pro<\/a>\n\n\nUnlimited email log\n\u2705\n\u2705\n\n\nOne-click resend\n\u2705\n\u2705\n\n\nSMTP configuration + presets\n\u2705\n\u2705\n\n\nEmail type detection\n\u2705\n\u2705\n\n\nDashboard widget + chart\n\u2705\n\u2705\n\n\nEmail alerts on failure\n\u274c\n\u2705\n\n\nSlack notifications\n\u274c\n\u2705\n\n\nWebhook (Make, Zapier, n8n)\n\u274c\n\u2705\n\n\nOpen + click tracking\n\u274c\n\u2705\n\n\nDaily digest emails\n\u274c\n\u2705\n\n\nCSV export\n\u274c\n\u2705\n\n\nSMTP diagnostics\n\u274c\n\u2705\n\n\nMultisite Network Admin\n\u274c\n\u2705 Agency plan\n\n\nWhite-label branding\n\u274c\n\u2705 Agency plan\n\n\nPrice\nFree forever\n<a href=\"https:\/\/grlca.com\/mailguard\/\">From \u20ac49 one-time<\/a>\n\n\n\n<p>\ud83d\udc49 <a href=\"https:\/\/grlca.com\/mailguard\/\">Learn more about MailGuard Pro \u2192<\/a><\/p>\n\n\n\n<h3>\ud83e\udd1d Compatible With Everything<\/h3>\n\n<ul>\n<li>WooCommerce (all versions) \u2014 order emails, invoices, refunds<\/li>\n<li>All SMTP plugins (WP Mail SMTP, FluentSMTP, Easy WP SMTP...)<\/li>\n<li>WordPress Multisite<\/li>\n<li>Any plugin that uses `wp_mail()`<\/li>\n<li>Custom code that calls `wp_mail()` directly<\/li>\n<\/ul>\n\n<h3>\ud83d\udee1\ufe0f Privacy<\/h3>\n\n<p>MailGuard stores email metadata (recipient, subject, status, error) in your own WordPress database. No data is sent to external servers. Email body storage is opt-in and disabled by default.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin optionally connects to a user-configured SMTP server to send outgoing emails. No SMTP connection is made unless the user explicitly enables and configures SMTP under MailGuard \u2192 SMTP Setup.<\/p>\n\n<p>When SMTP is enabled, the plugin sends email content (recipient, subject, message body) to the configured SMTP server each time WordPress sends an email via wp_mail(). The plugin includes quick-select presets for the following third-party SMTP providers:<\/p>\n\n<ul>\n<li><strong>Gmail \/ Google Workspace<\/strong> (smtp.gmail.com) \u2014 <a href=\"https:\/\/policies.google.com\/terms\">Terms of Service<\/a>, <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a><\/li>\n<li><strong>Microsoft 365 \/ Outlook<\/strong> (smtp.office365.com) \u2014 <a href=\"https:\/\/www.microsoft.com\/en-us\/servicesagreement\">Terms of Service<\/a>, <a href=\"https:\/\/privacy.microsoft.com\/en-us\/privacystatement\">Privacy Policy<\/a><\/li>\n<li><strong>SendGrid<\/strong> (smtp.sendgrid.net) \u2014 <a href=\"https:\/\/www.twilio.com\/en-us\/legal\/tos\">Terms of Service<\/a>, <a href=\"https:\/\/www.twilio.com\/en-us\/legal\/privacy\">Privacy Policy<\/a><\/li>\n<li><strong>Mailgun<\/strong> (smtp.mailgun.org) \u2014 <a href=\"https:\/\/www.mailgun.com\/legal\/terms\/\">Terms of Service<\/a>, <a href=\"https:\/\/www.mailgun.com\/legal\/privacy-policy\/\">Privacy Policy<\/a><\/li>\n<li><strong>Brevo \/ Sendinblue<\/strong> (smtp-relay.brevo.com) \u2014 <a href=\"https:\/\/www.brevo.com\/legal\/termsofuse\/\">Terms of Service<\/a>, <a href=\"https:\/\/www.brevo.com\/legal\/privacypolicy\/\">Privacy Policy<\/a><\/li>\n<li><strong>Amazon SES<\/strong> (email-smtp.*.amazonaws.com) \u2014 <a href=\"https:\/\/aws.amazon.com\/service-terms\/\">Terms of Service<\/a>, <a href=\"https:\/\/aws.amazon.com\/privacy\/\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p>Users may also enter any custom SMTP server of their choice. The plugin does not send any data to external servers unless the user explicitly configures and enables SMTP. All email log data is stored locally in the WordPress database.<\/p>\n\n<!--section=installation-->\n<p><strong>From the WordPress plugin directory:<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin<\/li>\n<li>Search for \"GrL'Ca MailGuard\"<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Navigate to <strong>MailGuard<\/strong> in the left menu \u2014 logging starts immediately<\/li>\n<\/ol>\n\n<p><strong>Manual installation:<\/strong><\/p>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Upload the zip file and click <strong>Install Now<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<p><strong>Optional SMTP setup:<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>MailGuard \u2192 SMTP Setup<\/strong><\/li>\n<li>Select your provider or enter custom SMTP credentials<\/li>\n<li>Click <strong>Send Test Email<\/strong> to verify<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20log%20emails%20immediately%20after%20activation%3F\"><h3>Does it log emails immediately after activation?<\/h3><\/dt>\n<dd><p>Yes. The moment you activate the plugin it starts intercepting every <code>wp_mail()<\/code> call. No configuration needed.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20set%20up%20smtp%3F\"><h3>Do I need to set up SMTP?<\/h3><\/dt>\n<dd><p>No. MailGuard logs all emails regardless of whether you configure SMTP. However, for reliable email delivery we strongly recommend using an SMTP service (Gmail, SendGrid, Mailgun, etc.) \u2014 WordPress's default PHP mail is often blocked by spam filters.<\/p><\/dd>\n<dt id=\"is%20the%20email%20log%20limited%3F\"><h3>Is the email log limited?<\/h3><\/dt>\n<dd><p>No. The free version includes a fully unlimited email log. All sent and failed emails are recorded with no entry cap. Log retention is configurable under MailGuard Settings. Upgrade to <a href=\"https:\/\/grlca.com\/mailguard\/\">MailGuard Pro<\/a> for email\/Slack\/webhook failure alerts, open and click tracking, CSV export, and more.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. The log write happens after <code>wp_mail()<\/code> returns, is a single indexed INSERT into a dedicated table, and has no impact on page load times.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. All WooCommerce transactional emails are automatically detected and tagged with their type (<code>wc_new_order<\/code>, <code>wc_completed_order<\/code>, etc.) so you can filter the log by order email type.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%2C%20form%20plugins%2C%20etc.%3F\"><h3>Does it work with page builders, form plugins, etc.?<\/h3><\/dt>\n<dd><p>Yes. Any plugin that sends email via WordPress's <code>wp_mail()<\/code> function is automatically covered \u2014 Contact Form 7, WPForms, Gravity Forms, Elementor forms, and so on.<\/p><\/dd>\n<dt id=\"can%20i%20extend%20the%20email%20type%20detection%3F\"><h3>Can I extend the email type detection?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>grlca_mg_detect_email_type<\/code> filter to add custom type detection logic for your own plugins.<\/p><\/dd>\n<dt id=\"is%20there%20a%20pro%20version%3F\"><h3>Is there a Pro version?<\/h3><\/dt>\n<dd><p>Yes. <a href=\"https:\/\/grlca.com\/mailguard\/\">MailGuard Pro<\/a> adds email\/Slack\/webhook failure alerts, open and click tracking, daily digest reports, SMTP diagnostics, CSV export, and a Multisite Network Admin dashboard. One-time payment, no subscription.<\/p><\/dd>\n<dt id=\"does%20it%20store%20email%20content%3F\"><h3>Does it store email content?<\/h3><\/dt>\n<dd><p>Not by default. Only the recipient, subject, status, and error are stored. You can optionally enable full email body storage under <strong>MailGuard \u2192 Settings<\/strong>, but note this may store sensitive content.<\/p><\/dd>\n<dt id=\"where%20is%20my%20data%20stored%3F\"><h3>Where is my data stored?<\/h3><\/dt>\n<dd><p>All data is stored in your WordPress database in the <code>{prefix}grlca_mailguard_log<\/code> table. Nothing is sent to external servers.<\/p><\/dd>\n<dt id=\"how%20do%20i%20delete%20all%20plugin%20data%3F\"><h3>How do I delete all plugin data?<\/h3><\/dt>\n<dd><p>Deleting the plugin from <strong>Plugins \u2192 Installed Plugins \u2192 Delete<\/strong> will remove all data: the log table, all options, and any scheduled events.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added: Resend failed emails directly from the log (up to 5 attempts per entry)<\/li>\n<li>Added: Automatic email type detection with 20+ types including WooCommerce order states<\/li>\n<li>Added: Per-email-type filtering in the log<\/li>\n<li>Added: DB schema auto-migration \u2014 no manual steps required on upgrade<\/li>\n<li>Improved: Log table shows resend count badge and email type column<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Email log with search and filter<\/li>\n<li>SMTP wizard with provider presets (Gmail, Outlook, SendGrid, Mailgun, Brevo, Amazon SES)<\/li>\n<li>Dashboard widget with 7-day delivery stats<\/li>\n<li>Activity chart (7, 14, 30-day ranges)<\/li>\n<li>One-click test email<\/li>\n<li>Configurable log retention with auto-purge<\/li>\n<\/ul>","raw_excerpt":"Email delivery monitor for WordPress. Logs every sent and failed email, detects type, enables one-click resend. Zero configuration to start.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/290274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=290274"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/groundfire"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=290274"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=290274"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=290274"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=290274"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=290274"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=290274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}