{"id":365933,"date":"2026-09-12T14:43:48","date_gmt":"2026-09-12T14:43:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/email-guard-for-fluent-forms\/"},"modified":"2026-09-12T14:43:24","modified_gmt":"2026-09-12T14:43:24","slug":"world-inspire-email-validation-for-fluent-forms","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/world-inspire-email-validation-for-fluent-forms\/","author":20380652,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.5","stable_tag":"1.1.5","tested":"7.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"World Inspire Email Validation for Fluent Forms","header_author":"World Inspire LLC, Vec","header_description":"Production-grade multi-layer real-time email defense for Fluent Forms. Blocks disposable\/temporary domains (8,700+ domains), verifies live DNS MX records with 24h caching, auto-suggests typo corrections (e.g. gamil.com -> gmail.com), and prevents hard bounces in FluentCRM funnels.","assets_banners_color":"7d9caf","last_updated":"2026-09-12 14:43:24","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/worldinspirelab.com\/","header_plugin_uri":"https:\/\/github.com\/vecyang1\/fluentform-email-guard","header_author_uri":"https:\/\/worldinspirelab.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.5":{"tag":"1.1.5","author":"hxsmyxh","date":"2026-09-12 14:43:24","revision":3692788}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3692788,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3692788,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3692788,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3692788,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3692788,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3692788,"resolution":"1","location":"assets","locale":"","width":1200,"height":750}},"screenshots":{"1":"Admin Dashboard with Live Interactive Sandbox and Granular Defense Toggles."}},"plugin_section":[],"plugin_tags":[2656,256205,12886,2182,185045],"plugin_category":[54],"plugin_contributors":[280378],"plugin_business_model":[],"class_list":["post-365933","plugin","type-plugin","status-publish","hentry","plugin_tags-anti-spam","plugin_tags-bounce-prevention","plugin_tags-disposable-email","plugin_tags-email-validation","plugin_tags-fluent-forms","plugin_category-security-and-spam-protection","plugin_contributors-hxsmyxh","plugin_committers-hxsmyxh"],"banners":{"banner":"https:\/\/ps.w.org\/world-inspire-email-validation-for-fluent-forms\/assets\/banner-772x250.png?rev=3692788","banner_2x":"https:\/\/ps.w.org\/world-inspire-email-validation-for-fluent-forms\/assets\/banner-1544x500.png?rev=3692788","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/world-inspire-email-validation-for-fluent-forms\/assets\/icon.svg?rev=3692788","icon":"https:\/\/ps.w.org\/world-inspire-email-validation-for-fluent-forms\/assets\/icon.svg?rev=3692788","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/world-inspire-email-validation-for-fluent-forms\/assets\/screenshot-1.png?rev=3692788","caption":"Admin Dashboard with Live Interactive Sandbox and Granular Defense Toggles."}],"raw_content":"<!--section=description-->\n<p>When running marketing funnels, lead generation campaigns, or automated email onboarding sequences (e.g. FluentCRM, MailPoet, Brevo), invalid email addresses, throwaway mailboxes, and common user typos cause catastrophic bounce rates. Hard bounces permanently damage your domain sender reputation, land marketing broadcasts into spam folders, and trigger transactional rate-limiting from email service providers.<\/p>\n\n<p><strong>World Inspire Email Validation for Fluent Forms<\/strong> hooks directly into Fluent Forms' core input validation layer (<code>fluentform\/validate_input_item_input_email<\/code>) to intercept invalid, disposable, unroutable, and bounce-inducing emails <em>at form submission time<\/em>, before the entry is recorded or forwarded to marketing automations.<\/p>\n\n<h3>6-Layer Real-Time Defense Engine<\/h3>\n\n<ol>\n<li><strong>RFC 5322 Syntax Verification<\/strong>: Native in-memory validation (&lt;0.1ms).<\/li>\n<li><strong>Custom Domain Blacklist<\/strong>: Intercept abusive domains, competitors, or known bad actors.<\/li>\n<li><strong>Typo Auto-Suggestion<\/strong>: Detects common domain typos (<code>gamil.com<\/code>, <code>outlok.com<\/code>, <code>hotmial.com<\/code>) and suggests corrections.<\/li>\n<li><strong>Disposable &amp; Temporary Mail Filtration<\/strong>: Real-time hash lookup across <strong>8,700+ active temporary mail domains<\/strong> bundled offline in local JSON data.<\/li>\n<li><strong>Live DNS MX Verification<\/strong>: Direct DNS query (<code>checkdnsrr<\/code>) to ensure the destination mail server exists, cached via WordPress Transients for 24 hours.<\/li>\n<li><strong>Role-Based Account Filter<\/strong>: Optional filter for generic mailboxes (<code>admin@<\/code>, <code>support@<\/code>, <code>billing@<\/code>).<\/li>\n<\/ol>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>Real-Time Live Diagnostic Sandbox<\/strong>: Test any email directly in the admin dashboard before enabling rules globally.<\/li>\n<li><strong>Granular Layer Toggles<\/strong>: Turn MX check, disposable filter, typo hints, or role filter on\/off independently.<\/li>\n<li><strong>Zero-Latency In-Memory Lookups<\/strong>: Domain lookups indexed via <code>array_flip<\/code> O(1) hash maps.<\/li>\n<li><strong>REST API Health Endpoint<\/strong>: <code>\/wp-json\/fluentform-email-guard\/v1\/status<\/code> for external uptime watchdogs.<\/li>\n<li><strong>Audit Telemetry Log<\/strong>: Review the last 100 blocked submissions with timestamp, masked email, and block reason.\n<h3>External Services<\/h3>\nThis plugin includes an offline bundled dataset of disposable email domains derived from:<\/li>\n<li>Service: Disposable Email Domains Blocklist by disposable-email-domains (https:\/\/github.com\/disposable-email-domains\/disposable-email-domains)<\/li>\n<li>Purpose: Provides local offline detection of temporary disposable email domains to prevent hard bounces and spam submissions.<\/li>\n<li>Privacy: Operates 100% locally and offline. No personal data, email addresses, or form submission content is ever transmitted to GitHub or any third party.<\/li>\n<li>Terms \/ License: https:\/\/github.com\/disposable-email-domains\/disposable-email-domains\/blob\/main\/LICENSE.txt<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/world-inspire-email-validation-for-fluent-forms<\/code>, or install directly through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Navigate to <strong>Fluent Forms &gt; Email Validation<\/strong> to configure defense rules and test addresses in the live sandbox.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20fluent%20forms%20pro%3F\"><h3>Does this require Fluent Forms Pro?<\/h3><\/dt>\n<dd><p>No, World Inspire Email Validation for Fluent Forms works seamlessly with both the Free and Pro editions of Fluent Forms.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20form%20submissions%3F\"><h3>Does it slow down form submissions?<\/h3><\/dt>\n<dd><p>No. Syntax, blacklist, typo, and disposable checks execute in memory (&lt;0.5ms). DNS MX checks are cached for 24 hours via WordPress Transients so repeat queries have zero latency.<\/p><\/dd>\n<dt id=\"where%20does%20the%20disposable%20domains%20list%20come%20from%3F\"><h3>Where does the disposable domains list come from?<\/h3><\/dt>\n<dd><p>The plugin bundles an offline dataset of over 8,700 disposable domains in <code>data\/disposable_domains.json<\/code>, operating completely in memory with zero external remote network requests.<\/p><\/dd>\n<dt id=\"can%20i%20whitelist%20corporate%20or%20customer%20domains%3F\"><h3>Can I whitelist corporate or customer domains?<\/h3><\/dt>\n<dd><p>Yes. You can add specific domains to the whitelist section to bypass MX and disposable checks.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Compliance: Renamed plugin to \"World Inspire Email Validation for Fluent Forms\" with distinctive brand prefix and slug \"world-inspire-email-validation-for-fluent-forms\" per WordPress.org review requirements.<\/li>\n<li>Internationalization: Updated text domain to \"world-inspire-email-validation-for-fluent-forms\" across all translatable strings.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Security: Restricted REST <code>\/test<\/code> endpoint to administrators with <code>manage_options<\/code> capability and nonce verification.<\/li>\n<li>Security: Sanitized and limited public REST <code>\/status<\/code> endpoint to minimal health status; moved detailed diagnostics to authenticated <code>\/admin\/status<\/code>.<\/li>\n<li>Compliance: Removed remote list fetching and WP-Cron scheduling; bundled canonical dataset of 8,742 disposable domains offline in <code>data\/disposable_domains.json<\/code>.<\/li>\n<li>Hardening: Added <code>wp_unslash()<\/code>, <code>absint()<\/code>, and strict variable existence checks across all input processing.<\/li>\n<li>Internationalization: Escaped admin permission check string with text domain.<\/li>\n<li>Metadata: Added submitting contributor <code>hxsmyxh<\/code> and updated upstream license reference link to main branch.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Compliance: Renamed to \"Email Guard for Fluent Forms\" for WordPress.org trademark directory guidelines.<\/li>\n<li>Architecture: Dual-channel release support with release-guarded updater filters.<\/li>\n<li>Security: Implemented fine-grained token isolation and file constant support.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Optimization: Dynamic disposable domains synchronization and local caching.<\/li>\n<li>Reliability: Restored priority 99 on admin_menu hook to prevent permission collisions.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Initial public release with 6-layer defense engine and live testing sandbox.<\/li>\n<\/ul>","raw_excerpt":"Production-grade multi-layer real-time email defense, disposable domain filtration, live DNS MX verification, and typo correction for Fluent Forms.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/365933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=365933"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hxsmyxh"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=365933"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=365933"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=365933"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=365933"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=365933"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=365933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}