This plugin refuses sign-ups, comments, checkouts, and form submissions when the email address belongs to a disposable, burner, or temp-mail service. All checks run on your own server against domain lists that ship inside the plugin file — no email address is ever sent to a third-party service, and the plugin does not contact any external server in its default configuration.
Five well-known community-maintained disposable-email lists are bundled as snapshots. Two are active out of the box (around 9,800 unique domains combined); three larger lists are available as opt-in for stricter coverage. An optional auto-update from the upstream GitHub URLs is also available, off by default.
user+tag@example.com style sub-addresses.gnail.com, parked or expired domains. One DNS lookup per new domain, then cached.*@spammer.com, *@*.ru, spam*@*.WordPress core:
wp_insert_user, REST API, WP-CLI, other plugins)WooCommerce:
Form plugins:
wpcdeg_check filter (one line of PHP from your form’s email-validation hook)wpcdeg_flagged meta so you can review them in a list. Pairs with WooCommerce auto-hold and coupon refusal.Five bundled snapshots are available, each toggled independently:
disposable-email-domains (MIT) — ON by default, ~5,400 domains.7c/fakefilter — ON by default, ~4,500 domains.groundcat/disposable-email-domain-list (MIT) — opt-in, ~27,000 domains.wesbos/burner-email-providers (MIT) — opt-in, ~27,000 domains.disposable/disposable-email-domains (MIT) — opt-in, ~72,000 domains.Each ships as a snapshot inside the plugin (data/sources/{id}.txt) and is loaded from disk; no network call is required for any of them to function.
If you want the snapshots refreshed on a schedule from their GitHub raw URLs, an optional auto-update feature is available. It is off by default. See “External services” below for what is contacted and what is sent.
wp wpcdeg refresh / test / stats / log / sources / clear-log.raw.githubusercontent.com for the source URLs you have selected. The request body is empty, the User-Agent is WPCoreToolsDisposableEmailGuard/<version>, and no email addresses, user data, or your site URL are transmitted. Full disclosure under “External services” below.This plugin can optionally contact one external service. The feature is off by default and must be explicitly enabled via the setup wizard or the Lists tab (Settings WPCoreTools Disposable Email Guard Lists “Auto-update from upstream sources”).
WPCoreToolsDisposableEmailGuard/<plugin-version>. No email addresses, user data, IP information beyond what GitHub’s CDN normally logs, or your site URL are transmitted.https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/main/disposable_email_blocklist.confhttps://raw.githubusercontent.com/7c/fakefilter/main/txt/data.txthttps://raw.githubusercontent.com/groundcat/disposable-email-domain-list/master/domains.txthttps://raw.githubusercontent.com/wesbos/burner-email-providers/master/emails.txthttps://raw.githubusercontent.com/disposable/disposable-email-domains/master/domains.txtIf you would rather not contact GitHub at all, leave “Auto-update from upstream sources” off (its default state). The bundled snapshots provide full functionality offline.
You may also add your own custom URLs on the Lists tab (e.g. an internal threat-feed URL or a private gist). Those URLs are contacted on the same schedule and follow the same rules; they are entirely under your control.