Advanced Email Domain Restriction
Advanced Email Domain Restriction
Description
Advanced Email Domain Restriction (AEDR) gives you full control over who is allowed to create an account on your WordPress site. Instead of letting anyone register with any email address, restrict registration to a trusted allow-list of company domains, specific email addresses, top-level domains (TLDs), or wildcard subdomains — and stop spam registrations, fake accounts, and unauthorized signups before they happen.
Whether you run a company intranet that should only accept @yourcompany.com addresses, a course platform that should only enroll students with a .edu email, or a membership site that wants to block free webmail providers, AEDR gives you a simple allow-list-based way to enforce it — with no regex or code required.
Common Use Cases
- Restrict registration to your company domain — only allow
@yourcompany.comemails to sign up for an internal site, intranet, or extranet. - Block spam and fake account registrations — stop bots and throwaway/disposable email signups by only accepting domains you trust.
- Gate course or membership access by email domain — for example, only allow
.eduaddresses to register for a student-only LearnDash course, or restrict a corporate LMS to employee emails. - Control WooCommerce customer registration — prevent unauthorized signups on your WooCommerce store at checkout or account creation.
- Enforce domain rules across every registration form on your site — WooCommerce, LearnDash, BuddyPress, MemberPress, Paid Memberships Pro, Contact Form 7, WPForms, Elementor Pro, Gravity Forms, and Fluent Forms all respect the same allow-list.
Key Features
- Allow-list Only: Restrict registrations to a specific list of trusted domains, exact email addresses, TLDs, or wildcard subdomains.
- Bulk Upload: Import large lists of domains via CSV.
- Domain Export: Download your allowed domains list for backup or analysis.
- WooCommerce Support: Fully compatible with WooCommerce customer registration.
- Form & Field Plugin Support: Automatically validate email fields in Contact Form 7, WPForms, Elementor Pro, Gravity Forms, Fluent Forms, and Advanced Custom Fields (ACF).
- LMS & Membership Support: Works with LearnDash, Tutor LMS, BuddyPress / BuddyBoss, MemberPress, and Paid Memberships Pro registration flows.
- TLD & Full Email Support: Restrict registrations to specific TLDs (e.g., .com) or specific email addresses (e.g., user@example.com).
- Wildcard Subdomain Support: A rule like
*.example.commatches bothexample.comand any subdomain, such assales.example.com. - Case-Insensitive: Matches
gmail.comregardless of how the user types it. - Custom Messages: Define your own error messages for restricted domains.
- Live Test Checker: Instantly test any email address in the admin panel to confirm whether it would be allowed or blocked.
- No Regex, No Code: Every rule type is entered as plain text — no technical knowledge required.
Installation
- Upload the plugin files to the
/wp-content/plugins/advanced-email-domain-restrictiondirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Use the Settings-> Domain Restriction screen to configure the plugin.
Screenshots
Faq
Go to Settings Domain Restriction and add the domain (e.g. yourcompany.com) to the Allowed Domains list. Once saved, only email addresses ending in @yourcompany.com will be able to register — every other domain is blocked automatically.
Yes. Since AEDR works as an allow-list, simply don’t include gmail.com, yahoo.com, outlook.com, or any other webmail domain in your allowed list, and registrations from those domains will be blocked. This is a common way to reduce spam and fake account signups.
Yes. Add a rule starting with a dot, such as .edu or .gov, and any email address ending in that TLD will be allowed, regardless of the domain in front of it.
Yes. Add the full address (e.g. john@example.com) as a rule, and only that exact email will be allowed to register — useful for granting a single exception.
Yes. A rule like *.example.com allows both example.com itself and any subdomain such as team.example.com or sales.example.com.
Yes. AEDR hooks directly into WooCommerce’s registration process, so the same domain rules apply whether a customer registers through the standard WordPress form or through WooCommerce’s My Account / checkout registration.
Yes. AEDR validates the email domain on LearnDash’s Login & Registration modal as well as the default WordPress registration form, so students can only register with an approved email domain — useful for restricting course access to .edu or company email addresses.
Yes. AEDR validates the email domain during BuddyPress and BuddyBoss community signup, in addition to standard WordPress registration.
Yes. Both MemberPress signup and Paid Memberships Pro registration/checkout are validated against your allowed domains list.
AEDR automatically validates email fields in Contact Form 7, WPForms, Elementor Pro forms, Gravity Forms, and Fluent Forms, using the same allow-list you configure once in Settings Domain Restriction.
Yes. AEDR validates email domains during multisite user signup as well as single-site registration.
You can customize the error message shown for restricted domains in the plugin settings under the “Custom Messages” section.
Yes. Use the CSV Bulk Upload feature to import a large list of rules at once, and the Export to CSV feature to download your current list for backup or review.
No. AEDR only validates email domains at the point of new registration. Existing user accounts are never affected, logged out, or deleted, even if their email domain is later removed from the allowed list.
Yes. Because only email domains you explicitly trust can complete registration, AEDR is commonly used to block spam bots, disposable/throwaway email signups, and fake accounts that target open registration forms.
If no domains are configured, AEDR does not restrict registration — all email addresses are allowed, exactly as with a default WordPress install.
No. AEDR does not collect, store, or transmit any personal data to third parties. It only reads the email address submitted during registration to check it against the domain rules you configure yourself.
No. AEDR is lightweight, performs a single fast comparison against your configured rules at the moment of registration, and adds no measurable overhead to page load or checkout speed.
Reviews
Does what it says
By @anansi.pro (mahasvin) on August 12, 2026
Very useful plugin, when you have a legal obligation to restrict domains or entire TLD zones for email registrations on your website.
The interface is simple and clean.
Changelog
1.5.0
- Fix: LearnDash Login & Registration modal (and any other registration flow bypassing the standard
registration_errorsfilter) no longer allows restricted email domains to register. - Feature: Added BuddyPress / BuddyBoss registration support.
- Feature: Added MemberPress registration support.
- Feature: Added Paid Memberships Pro (PMPro) registration support.
- Feature: Added Gravity Forms email field validation support.
- Feature: Added Fluent Forms email field validation support.
- Feature: Added Tutor LMS student and instructor registration support.
- Feature: Added Advanced Custom Fields (ACF) email field validation support.
1.4.1
- Fix: Exclude
/bridgedirectory andpnpm-lock.yamlfrom distribution zip via.distignore.
1.4.0
- Feature: Rule type labels — each rule shows its type (Domain / TLD / Exact email / Wildcard) inline in the admin panel.
- Feature: Live rule preview — shows an example address the rule will match as you type.
- Feature: Test email checker — enter any address to instantly see if it would be Allowed or Blocked.
- Feature: Wildcard rule support —
*.example.commatches any subdomain of example.com. - Feature: Duplicate detection — duplicate rules are removed on save with an admin notice.
- Feature: CSV import summary — import results now show Imported / Skipped duplicates / Invalid rows counts.
- Enhancement:
AEDR_Rule_ParserandAEDR_Rule_Matcherclasses introduced for clean, testable validation logic. - Enhancement: CSV processor now accepts TLDs, exact emails, and wildcard rules in addition to plain domains.
- Enhancement: PHPUnit unit tests added for all new classes.
1.3.0
- Feature: Added support for TLD-based matching (e.g., allow all emails from
.cz). - Feature: Added support for full email address matching (e.g., allow
user@example.com). - Enhancement: Updated Admin UI with clearer descriptions and placeholders for new matching types.
1.2.0
- Feature: Added Support for WPForms and Elementor Pro email field validation.
- Feature: Added Support for Contact Form 7 email field validation.
- Feature: Added Export to CSV feature for allowed domains.
- Feature: Added CSV Bulk Upload for allowed domains.
- Feature: Added client-side and server-side validation for file uploads.
- Security: Hardened plugin with nonce and capability checks.
- Security: Applied late escaping throughout the admin interface.
- Security: Hardened CSV import logic against large files and malicious content.
- Bug Fix: Fixed WooCommerce registration errors hook (changed from action to filter).
- Enhancement: Added case-insensitive domain validation support.
- Enhancement: Refactored to Clean Architecture (separated Validator and CSV Processor).
- Enhancement: Settings are now cached for better performance.
- Improvement: Cleaned up code and improved domain sanitization.
1.1.0
- WooCommerce customer registration email domain check support added.
1.0.0
- Initial release with support for allowed domains and custom error messages.




