WordPress Integration · MU-Plugin & PHP Hooks

WordPress email verification for registrations, WooCommerce, and forms

Block mistyped and disposable addresses before they create fake WordPress accounts, pollute WooCommerce customer tables, or trigger outbound autoresponders in Contact Form 7 and WPForms. Audit and drop our single-file PHP helper directly into wp-content/mu-plugins/.

Supported Hooks

Where verification runs in WordPress

One helper function (validreach_verify_address) connects to the four most common entry points in a WordPress stack.

WordPress Core Registration

registration_errors

Intercepts wp-login.php?action=register and custom membership signups before wp_insert_user runs.

WooCommerce Accounts & Checkout

woocommerce_registration_errors

Prevents undeliverable customer emails so order confirmations, digital downloads, and receipts reach real buyers.

Contact Form 7

wpcf7_validate_email*

Validates required and optional email fields server-side and returns inline field validation messages.

WPForms & Custom Forms

wpforms_process_validate_email

Stops disposable lead-magnet signups and exposes validreach_verify_address($email) for Gravity Forms or Elementor.

Setup in 4 Steps

How to install on your WordPress site

No external Composer dependencies required—uses native WordPress HTTP API (wp_remote_post) and transient caching.

  1. Step 1

    Create a ValidReach API key

    Sign in to ValidReach, open Settings → API Keys, and generate a server-side key for your WordPress site.

  2. Step 2

    Add VALIDREACH_API_KEY to wp-config.php

    Define VALIDREACH_API_KEY in wp-config.php so your secret stays out of the WordPress database and theme files.

  3. Step 3

    Install the single-file MU-plugin

    Download validreach-email-verifier.php and place it in wp-content/mu-plugins/ (or upload it as a standard plugin).

  4. Step 4

    Test registration and form hooks

    Submit a disposable address (such as test@mailinator.com) on your signup or Contact Form 7 form to confirm it is rejected while unknown/timeout responses fail open.

wp-config.php configurationView full PHP source
// Add to wp-config.php above "That's all, stop editing!"
define('VALIDREACH_API_KEY', 'vr_live_your_api_key_here');

// Optional: call directly from any custom theme or plugin hook
$verdict = validreach_verify_address($user_email);
if (!$verdict['allow']) {
    wp_die('Please provide a deliverable email address.');
}
FAQ

WordPress integration questions

Is this hosted in the WordPress.org plugin directory?
No. ValidReach distributes a lightweight, open-source single-file MU-plugin (validreach-email-verifier.php) directly from this page so you can audit every line of PHP and deploy it in wp-content/mu-plugins/ without third-party admin bloat.
Which WordPress forms and flows are supported?
The included hooks cover core WordPress user registration (registration_errors), WooCommerce account creation (woocommerce_registration_errors), Contact Form 7 (wpcf7_validate_email*), and WPForms (wpforms_process_validate_email). You can call validreach_verify_address($email) from Gravity Forms, Elementor Forms, or custom REST endpoints as well.
What happens if the API request times out?
The plugin sets a 5-second timeout on wp_remote_post, caches results for one hour via WordPress transients, and fails open on network errors or unknown SMTP verdicts so legitimate visitors are never locked out by a transient network issue.
Does checking disposable domains cost credits?
Full verification via POST /api/v1/verify/single consumes 1 credit per definitive result (unknown results are free). If you only want to block disposable domains at zero credit cost, point the helper at GET /api/v1/verify/disposable instead.
Ready when you are

Protect your WordPress forms today

Create a free account with 100 verification credits and drop the single-file plugin into your site.