WP Debug Toolkit 1.1.0 is LIVE. Get $300 discount on the lifetime deal now
Use Discount Code WPDTLTD

WP Debug Toolkit (WPDT) email notifications require a few configuration steps before they start sending alerts. This page walks through each step, from installing the MU-plugin to sending a test email.

Step 1: Install the MU-plugin

Go to Debug Toolkit > Settings > Notifications. The MU-Plugin section shows the current installation status.

Click Install MU-Plugin to copy wpdebugtoolkit-notifications.php to wp-content/mu-plugins/. If the directory does not exist, WPDT creates it.

Note: On some hosting setups, WPDT installs the MU-plugin automatically when you activate notifications. If the MU-plugin is already shown as installed, skip this step.

WP-CLI alternative

wp dbtk notifications install-mu-plugin

Step 2: Enable notifications

Toggle Enable Notifications to on. This activates the error handler in the MU-plugin. With the toggle off, the MU-plugin is loaded by WordPress but does not process or send any notifications.

Step 3: Set the recipient email

Enter the email address where notifications are sent. This defaults to your WordPress admin email. You can change it to a team address, a shared inbox, or any address you monitor.

Step 4: Choose error levels

Select which PHP error levels trigger notifications. WPDT provides two approaches:

Recommended preset

Click Recommended to select four error levels that indicate real problems:

LevelWhat it means
E_ERRORFatal runtime error — execution stops
E_PARSESyntax error — PHP cannot parse the file
E_WARNINGNon-fatal runtime warning — execution continues but something is wrong
E_USER_ERRORUser-triggered fatal error via trigger_error()

This preset covers errors that break functionality. It excludes deprecation notices, strict standards, and other non-critical messages that generate noise on production sites.

Full list

For comprehensive monitoring, select from all 14 available levels:

LevelSeverity
E_ERRORFatal
E_WARNINGWarning
E_PARSEFatal
E_NOTICENotice
E_DEPRECATEDNotice
E_USER_ERRORFatal
E_USER_WARNINGWarning
E_USER_NOTICENotice
E_STRICTNotice
E_RECOVERABLE_ERRORWarning
E_CORE_ERRORFatal
E_CORE_WARNINGWarning
E_COMPILE_ERRORFatal
E_COMPILE_WARNINGWarning

Enabling E_NOTICE and E_DEPRECATED on a production site with many plugins generates a high volume of emails. Start with the recommended preset and expand if needed.

Step 5: Configure rate limits

Per-error cooldown

Controls how long WPDT waits before re-reporting the same error. “Same error” means identical error message and file location.

Available presets:

CooldownUse case
15 minutesActive debugging — you want frequent updates
30 minutesDevelopment sites
1 hourGeneral production use
6 hoursHigh-traffic production sites
12 hoursLow-priority monitoring
24 hoursMinimal alerting — one email per error per day

Max emails per hour

Hard cap on total notification emails per hour, across all error types.

Available presets: 5, 10, 20, 50, 100

For most production sites, 10–20 per hour provides a good balance. Set it higher during active debugging sessions when you expect more errors.

Step 6: Send a test email

Click Send Test Email to verify delivery. WPDT sends a sample notification to your configured recipient address. Check your inbox (and spam folder) to confirm it arrived.

Troubleshooting

Emails not arriving

Check your SMTP configuration. WordPress uses wp_mail() to send emails, which by default relies on PHP’s mail() function. Many hosting providers block or limit mail(). Install an SMTP plugin (WP Mail SMTP, FluentSMTP, Post SMTP) to route emails through a proper mail server.

Check spam filters. Notification emails may be flagged by spam filters, especially if your site sends from a generic wordpress@ address. An SMTP plugin with proper SPF/DKIM records reduces spam classification.

Check the from address. Some mail servers reject emails where the from domain does not match the sending server. Configure your SMTP plugin to use an email address on a domain you control.

Verify wp_mail() works. Some plugins or custom code can break wp_mail(). Test with a basic email plugin or add this to a test file:

$result = wp_mail( 'you@example.com', 'Test', 'Testing wp_mail' );
var_dump( $result ); // Should output: bool(true)

Check hosting limits. Some hosts limit outgoing emails per hour. If your site hit that limit, notifications queue up or get dropped. Check your host’s documentation for email sending limits.

On this page
Try WP Debug Toolkit
The best error log viewer with amazing developer tools to help you troubleshoot your WordPress site securely and efficiently. Something something more.