WP Manifestindependent plugin directory
manifest / ecommerce / easy-email-blocklist

Easy WC + WP Email Blocklist (with Settings & TLD Support)

WordPress Plugin - Blocks specific email addresses, domains, and bare TLDs from registering via WordPress & WooCommerce forms.

by Piotr Kijowski [piotr.kijowski@gmail.com] · github.com/piotr-kijowski/easy-email-blocklist

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/piotr-kijowski/easy-email-blocklist/archive/refs/heads/main.zip

Registration / WooCommerce Email Blocklist

Block spam registrations by denying specific email addresses, domains, subdomains, TLD suffixes, and wildcard patterns in WordPress and WooCommerce.

Description

Registration / WooCommerce Email Blocklist prevents unwanted user registrations by validating submitted email addresses against a configurable blocklist.

The plugin works on:

  • WordPress user registration
  • WooCommerce account registration (Checkout and My Account)

If a submitted email matches a defined rule, the registration is stopped immediately.
No account is created and a customizable error message is displayed.

This plugin does NOT modify email delivery, SMTP, or mail configuration.
It validates only at the registration layer using native WordPress and WooCommerce hooks.

Supported rule types:

  • Exact email address
  • Domain (example.com)
  • Subdomain (mail.example.com)
  • TLD suffix (.ru)
  • Wildcard subdomain (*.example.com)

TLD-only rules (such as .ru) are preserved during sanitization and stored correctly.

Features

  • Blocks exact email addresses
  • Blocks full domains and specific subdomains
  • Blocks TLD suffixes (e.g. .ru)
  • Supports simple wildcard rules (*.domain.com)
  • Customizable user-facing error message
  • Works with WordPress and WooCommerce registration
  • Lightweight — no front-end scripts or assets
  • No custom database tables
  • Case-insensitive matching
  • Multisite compatible (per-site settings)

Installation

  1. Upload the plugin folder to:

/wp-content/plugins/email-blocklist/

  1. Activate the plugin through the Plugins menu in WordPress.

  2. Go to:

Settings → Email Blocklist

  1. Add one rule per line.

  2. Optionally customize the error message.

Usage

In:

Settings → Email Blocklist

enter one rule per line.

Examples:

.ru example.com mail.example.com spammer@foo.bar

*.throwawaymail.com

A registration will be blocked if the submitted email:

  • Exactly matches a listed address
  • Matches a listed domain or subdomain
  • Ends with a listed TLD suffix (lines starting with a dot)
  • Matches a wildcard domain pattern such as *.example.com

All values are normalized to lowercase and trimmed for reliable matching.

Requirements

  • WordPress 6.5 or newer
  • WooCommerce installed and activated
  • PHP 7.4+

FAQ

Does this block existing users?

No. It prevents new registrations only.

Can I whitelist domains?

Not in this version. A whitelist feature may be added in a future release.

Does this support regex?

No. For performance and safety, only exact matches, domains, subdomains, TLD suffixes, and simple wildcards are supported.

Will this affect email sending or SMTP?

No. It does not modify wp_mail, SMTP plugins, or mail configuration.

Is it GDPR compliant?

Yes. The plugin stores only your defined blocklist rules and optional error message. No additional user data is stored.

Changelog

1.1.0

  • Fixed sanitization to correctly preserve TLD rules (e.g. .ru)
  • Added support for simple wildcard subdomain rules (*.example.com)
  • Improved WooCommerce validation messaging
  • Code cleanup and normalization improvements

1.0.0

  • Initial release
  • Blocks exact emails, domains, and subdomains for WordPress and WooCommerce registration

Upgrade Notice

1.1.0

Recommended update. Ensures TLD rules save correctly and adds wildcard subdomain support.

License

This plugin is licensed under the GPL v3 or later.