=== Advanced Email Filter for Elementor Forms === Contributors: muktoapb Donate link: https://buymeacoffee.com/mukto Tags: email blacklist, spam protection, whitelist email, elementor form, disposable email Requires at least: 5.6 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.3.0 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html Enhance Elementor Pro Forms with advanced email filtering capabilities including global blocklists/whitelist and per-form controls. == Description == Advanced Email Filter for Elementor Forms adds enterprise-grade email validation to your Elementor pro forms. Protect against spam submissions while maintaining flexibility for legitimate users. == Features == * Global blocklist/allowlist management * Per-form email filtering rules * Wildcard support for domains and patterns * Business email only filter * Disposable / temporary email blocking * Automatically refreshed domain databases with a local last-known-good cache * Compatible with Elementor Pro forms only [Learn more about all features](https://www.wpprodevs.com/advanced-email-filter-for-elementor-forms/) | [Read Documentation](https://www.wpprodevs.com/docs/email-filter-for-elementor/) [youtube https://www.youtube.com/watch?v=fMFmGRLFpNQ] == Installation == 1. Upload the plugin files to the `/wp-content/plugins/advanced-email-filter-for-elementor-forms` directory 2. Activate the plugin through the 'Plugins' screen in WordPress 3. Configure global settings under Email Filter -> Settings 4. Set form-specific rules in Elementor Form widget settings == Configuration == There are two places where you can control email filtering. = Global Settings = Navigate to `Email Filter -> Settings` to configure: * **Blocklist**: @spamdomain.com, *.ru, fake-user@ * **Allowlist**: @yourcompany.com, admin@, *.trusted.org = Form-Specific Settings = 1. Edit Elementor Form widget 2. Open *Email Filtering* section 3. Add patterns: * Blocklist (form-specific) @temp-domain.com, *.xyz * Allowlist (form-specific) @client-domain.com, manager@ == Frequently Asked Questions == = Is Elementor Pro required to use this plugin? = Yes. This plugin extends Elementor Pro form features, so Elementor Pro must be installed and active. = How do multiple patterns work? = Separate patterns with commas. Both global and form rules apply cumulatively. = Which takes priority - allowlist or blocklist settings? = Matching allowlist rules take priority over blocklist, business email, and disposable email rules. Global and form-specific patterns are combined. == External services == When Business Email Only or Disposable Email Blocking is enabled, this plugin downloads public domain databases from `https://lists.mukto.info/aefe/`. These lists are required to identify personal and disposable email providers. The submitted email address and form contents are never sent to this service. A request is made only to download the domain-list JSON files. As with any web request, the server may receive standard connection information such as the requesting site's IP address and user agent. Downloaded lists are stored under `wp-content/uploads/aefe/` and refreshed no more than once every seven days. If an update fails, the previous valid local list remains in use. This service is operated by the plugin author. [Privacy policy](https://mukto.info/privacy-policy/) == Hooks & Filters == Customize validation behavior using these hooks: ` // Modify validation error message add_filter('aefe_validation_error', function($message, $email) { return sprintf(__('Error: %s is blocked', 'text-domain'), $email); }, 10, 2); ` == Screenshots == 1. Global Blocklist/Whitelist management 2. Per-form email filtering rules == Changelog == = 1.3.0 = * Fixed allowlist priority so matching addresses bypass all other filters * Improved partial and wildcard pattern matching * Added validated, automatically refreshed personal and disposable domain lists * Store downloaded domain lists under `wp-content/uploads/aefe/` instead of the database * Added last-known-good fallback and safe handling of remote failures * Added request timeouts, domain normalization, deduplication, and JSON validation * Removed duplicate settings registration * Added validation regression tests = 1.2.0 = * Minimize plugin size & update email list = 1.1.1 = * Personal & Disposable email list updated = 1.1.0 = * Added Business Email filter * Added Disposable / temporary email blocking * Improved validation error message = 1.0.0 = * Initial release with core filtering features * Global blocklist/Whitelist functionality * Elementor Form widget integration == Upgrade Notice == = 1.3.0 = Improves filtering accuracy and keeps domain databases current without increasing the plugin package size. = 1.2.0 = Minimize plugin size & update email list = 1.1.2 = Additional disposable email domains have been added to improve blocklisting & Tested on new wp & elementor version = 1.1.1 = Additional disposable and personal email domains have been added to improve blocklisting. = 1.1.0 = A new feature has been added to block disposable and personal email providers.