Bulk Email Checker – Email Verification & Validation

Plugin Banner

Bulk Email Checker – Email Verification & Validation

by Bulk Email Checker

Download
Description

Bulk Email Checker protects your WordPress site by verifying every email address in real-time before it enters your database. Stop fake signups, reduce bounces, and keep your mailing lists clean – automatically.

Bulk Email Checker integrates with 32 WordPress form and registration plugins out of the box.

What works without an API key: email syntax validation, your allowlist and blocklist, and cached results all run on your own server as soon as the plugin is activated. Every integration, the Quick Verify tool, and form submissions use these checks immediately.

What the API key adds: real-time mailbox-level verification and bulk scans of existing users. That work is performed by the Bulk Email Checker service on external servers and cannot be done locally.

Why Bulk Email Checker?

  • 32 form integrations – works with WooCommerce, Contact Form 7, WPForms, Gravity Forms, and more
  • Real-time verification – emails are checked before form submission completes
  • Bulk user verification – scan and verify all existing emails in your WordPress users table
  • Smart result caching – saves API credits by remembering recent results
  • Detailed analytics – track verification trends, pass rates, and blocked threats
  • Full MX enrichment – see mail server info, ISP, and geolocation for every check
  • Typo correction – automatically suggests the correct email when users make typos
  • Whitelist and blacklist – always allow or always block specific emails and domains
  • WooCommerce ready – protects checkout, registration, and account pages
  • Multisite support – network-wide settings with per-site overrides
  • Privacy controls – optional hashed email storage for GDPR compliance

Supported Form Plugins (32 Integrations)

Contact Forms:
Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Formidable Forms, Fluent Forms, Forminator, WS Form, Elementor Pro Forms, Jetpack Forms, Everest Forms, Caldera Forms, HappyForms

WooCommerce:
Checkout, Registration, My Account

User Registration:
WordPress Registration, WordPress Comments, Ultimate Member, BuddyPress, Profile Builder, WP-Members, Theme My Login, User Registration, MemberPress

Newsletter:
MailPoet, MC4WP (Mailchimp for WordPress), Newsletter

LMS and E-Commerce:
Easy Digital Downloads, LearnDash, LifterLMS, GiveWP

Catch-all Override:
Built-in is_email() filter that covers any form not listed above (optional, disabled by default)

How It Works

  1. A visitor submits a form on your site
  2. Bulk Email Checker intercepts the email address
  3. The email is verified against the BEC real-time API
  4. Valid emails pass through normally
  5. Invalid, disposable, or suspicious emails are blocked with a customizable error message
  6. Results are cached so repeated submissions use zero additional credits

Bulk User Verification

Already have users in your database? The Bulk Verify tool lets you scan and verify every email address stored in your WordPress users table:

  • Filter users by role before scanning (e.g. only verify Subscribers or Customers)
  • Set a credit cap to control maximum spend per scan
  • Get a cost estimate before starting so you know exactly how many credits the scan will use
  • Start immediately or schedule the scan for a specific date and time
  • Emails are processed in background batches of 25 so the scan does not slow down your site
  • Real-time progress tracking with pass, fail, and unknown counts
  • Verification results are saved as user meta and displayed as a new column in the WordPress Users list
  • Filter your Users list by verification status to quickly find failed addresses
  • Close the page and check back later – scans continue running in the background

Typo Correction

When a visitor submits a misspelled email address (e.g. user@gmial.com instead of user@gmail.com), the Bulk Email Checker API detects the error and returns a corrected suggestion. The plugin displays a friendly “Did you mean user@gmail.com?” prompt on the frontend, allowing the visitor to fix their email before the form is rejected. This reduces friction and helps legitimate users complete their submissions without confusion.

The suggestion message is fully customizable in Settings > Messages.

Configurable Rejection Rules

Choose exactly which email types to block:

  • Invalid and non-existent mailboxes (always blocked)
  • Disposable email addresses (blocked by default)
  • Role-based accounts (info@, admin@, support@)
  • Free email services (Gmail, Yahoo, Outlook)
  • Catch-all and accept-all domains
  • Gibberish or randomly generated addresses
  • Known complainers
  • Offensive usernames

Admin Dashboard

The plugin includes a full analytics dashboard with interactive charts:

  • Verification trends – daily volume over 30, 60, or 90 days
  • Pass rate tracking – monitor your email quality over time
  • Status breakdown – see the split between passed, failed, and unknown results
  • Rejection reasons – understand why emails are being blocked
  • Recent activity – the latest verifications with status, event, and source details

Activity Log

Every verification is logged with the complete API response:

  • Filter by status, source, email, or date range
  • Expandable detail rows show all email flags (disposable, role account, free service, etc.)
  • Full MX enrichment data: mail server hostname, IP, ISP, ASN, city, country, timezone
  • Export filtered results as CSV
  • Automatic log purging to manage database size

Analytics

Dedicated analytics page with configurable date ranges (7, 30, 90 days, or custom):

  • Verification Volume – daily counts stacked by status
  • Pass Rate Trend – line chart showing pass percentage over time
  • Status Breakdown – donut chart of pass, fail, and unknown distribution
  • Rejection Reasons – breakdown of why emails were blocked

Quick Verify Tool

Test any email address directly from your WordPress admin. See the full verification result including all flags, MX enrichment data, and execution time – useful for spot-checking addresses or debugging.

Import and Export

  • Export all plugin settings as a JSON file
  • Import settings to restore configuration or replicate across sites
  • Export and import whitelist/blacklist entries via CSV

Smart Caching

Results are cached locally with configurable TTL (time-to-live) per status:

  • Passed emails: default 24 hours
  • Failed emails: default 24 hours
  • Unknown/catch-all: default 1 hour
  • Cache lookup uses SHA-256 hashes for fast retrieval
  • Flush all or flush only expired entries from the Tools page

API Failure Handling

Choose what happens when the API is unreachable:

  • Allow (default) – let the email through
  • Block – reject the email
  • Use cache – serve stale cached results if available, otherwise allow

Multisite Support

  • Network-level activation with shared API key
  • Per-site setting overrides
  • Network admin settings page
  • Each site gets its own verification cache and logs

External Service: Bulk Email Checker API

This plugin relies on the Bulk Email Checker third-party API service to verify email addresses. When a visitor submits a form on your site and email verification is enabled, the plugin sends the submitted email address to the Bulk Email Checker real-time verification endpoint at https://api.bulkemailchecker.com/real-time/ along with your API key.

What data is sent:

  • The email address being verified
  • Your API key for authentication

When data is sent:

  • When a visitor submits a form protected by one of the 32 supported integrations
  • When an administrator uses the Quick Verify or Bulk Verify tools in the WordPress admin
  • When the credit balance is refreshed on plugin admin pages

What data is received:

  • Verification result (valid, invalid, disposable, role account, etc.)
  • Mail server (MX) enrichment data (hostname, ISP, country)
  • Remaining credit balance
  • Typo suggestion if the domain appears misspelled

No data is sent to the API when a cached result exists for the email address. The plugin stores verification results locally in your WordPress database to minimize API calls.

An API key from bulkemailchecker.com is required for the real-time mailbox verification performed by the external service. You can create an account and purchase verification credits from the BEC panel.

Third-Party Libraries

This plugin bundles the following third-party libraries. Both are included unmodified and their original license and copyright notices are preserved in the bundled files.

  • ApexCharts v3.54.1 – Modern charting library used for the analytics dashboard. Copyright (c) ApexCharts. Released under the MIT License. Bundled at assets/vendor/apexcharts.min.js. Source code: https://github.com/apexcharts/apexcharts.js
  • Action Scheduler v4.0.0 – Background job queue used for bulk verification scans. Copyright (c) Automattic, Inc. Released under the GPLv3 License. Bundled at lib/action-scheduler/. Source code: https://github.com/woocommerce/action-scheduler
  1. Upload the bulk-email-checker-verification folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins menu in WordPress
  3. Enable the form integrations you want to protect
  4. Configure your rejection rules
  5. Optionally, add an API key under Bulk Email Checker > Settings to enable real-time mailbox verification through the external service

Syntax validation, allowlist and blocklist enforcement, and cached results all work as soon as the plugin is activated. An API key from Bulk Email Checker adds real-time mailbox verification, which is performed by the external service.

Do I need an API key?

Not for the checks that run on your own server: email syntax validation, your allowlist and blocklist, and cached results all work without one. An API key from bulkemailchecker.com is needed for real-time mailbox verification and for bulk scans of existing users, because that work is performed by the external service.

How many API credits does each verification use?

Each unique email verification uses one credit. Cached results (repeat checks of the same email within the cache TTL window) use zero credits.

Will this slow down my forms?

Verification typically takes 1-3 seconds. Results are cached, so repeat submissions of the same email are instant. The plugin only verifies when a form is submitted, not while the user is typing.

What happens if the API is down?

You can configure the behavior: allow emails through (default), block all emails, or use stale cached results. This is configurable in Settings > General.

Does this work with WooCommerce?

Yes. The plugin integrates with WooCommerce checkout, registration, and My Account pages. Invalid emails are blocked before the order is placed.

Can I verify emails that are already in my database?

Yes. The Bulk Verify tool in Tools > Bulk Verify lets you scan all existing users in your WordPress database. You can filter by user role, set a credit cap, get a cost estimate before starting, and schedule the scan for a specific time. Results are saved as user meta and a new “Email Status” column appears in the WordPress Users list so you can filter by verification status.

What does the typo correction feature do?

When a visitor submits an email with a misspelled domain (e.g. user@gmial.com), the API detects the error and the plugin displays a “Did you mean user@gmail.com?” prompt on the frontend. This helps legitimate users fix their email without having their form submission rejected. The suggestion message is customizable in Settings > Messages.

Can I allow catch-all emails?

Yes. Catch-all and unknown status emails are allowed through by default. You can change this in Settings > Validation Rules.

Does the plugin store email addresses?

By default, email addresses are stored in plaintext in the cache and activity log for easy searching. You can enable Privacy Mode in Settings > Privacy to store only SHA-256 hashes instead.

Can I use this on a multisite network?

Yes. Network activate the plugin to share a single API key across all sites. Each site can override settings individually if needed.

What if a form plugin I use is not supported?

You have two options. First, you can enable the is_email() Override in Settings > Integrations. This hooks into WordPress core email validation and catches any form that uses the standard is_email() function. It is disabled by default to avoid conflicts. Second, you can request that we add support for your plugin through our Feedback Hub, which sends your request directly to our development team.

How do I check my remaining credits?

Your credit balance is displayed in the top-right corner of every plugin page. Click “Buy Credits” to purchase more.

1.0.1

  • Local verification checks (syntax validation, allowlist and blocklist) now run on all integrations, Quick Verify, and form submissions without an API key
  • Integration settings can be configured at any time
  • Fixed the plugin Settings action link and admin menu icon styling

1.0.0

  • Initial release.
Back to top