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.
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 dbtk notifications install-mu-plugin
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.
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.
Select which PHP error levels trigger notifications. WPDT provides two approaches:
Click Recommended to select four error levels that indicate real problems:
| Level | What it means |
|---|---|
E_ERROR | Fatal runtime error — execution stops |
E_PARSE | Syntax error — PHP cannot parse the file |
E_WARNING | Non-fatal runtime warning — execution continues but something is wrong |
E_USER_ERROR | User-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.
For comprehensive monitoring, select from all 14 available levels:
| Level | Severity |
|---|---|
E_ERROR | Fatal |
E_WARNING | Warning |
E_PARSE | Fatal |
E_NOTICE | Notice |
E_DEPRECATED | Notice |
E_USER_ERROR | Fatal |
E_USER_WARNING | Warning |
E_USER_NOTICE | Notice |
E_STRICT | Notice |
E_RECOVERABLE_ERROR | Warning |
E_CORE_ERROR | Fatal |
E_CORE_WARNING | Warning |
E_COMPILE_ERROR | Fatal |
E_COMPILE_WARNING | Warning |
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.
Controls how long WPDT waits before re-reporting the same error. “Same error” means identical error message and file location.
Available presets:
| Cooldown | Use case |
|---|---|
| 15 minutes | Active debugging — you want frequent updates |
| 30 minutes | Development sites |
| 1 hour | General production use |
| 6 hours | High-traffic production sites |
| 12 hours | Low-priority monitoring |
| 24 hours | Minimal alerting — one email per error per day |
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.
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.
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.