Title: EasyDMARC Email Verification
Author: EasyDMARC
Published: <strong>August 22, 2026</strong>
Last modified: August 22, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/easydmarc-email-verification.svg)

# EasyDMARC Email Verification

 By [EasyDMARC](https://profiles.wordpress.org/easydmarc/)

[Download](https://downloads.wordpress.org/plugin/easydmarc-email-verification.1.1.4.zip)

 * [Details](https://wordpress.org/plugins/easydmarc-email-verification/#description)
 * [Reviews](https://wordpress.org/plugins/easydmarc-email-verification/#reviews)
 *  [Installation](https://wordpress.org/plugins/easydmarc-email-verification/#installation)
 * [Development](https://wordpress.org/plugins/easydmarc-email-verification/#developers)

 [Support](https://wordpress.org/support/plugin/easydmarc-email-verification/)

## Description

**EasyDMARC Email Verification** connects your WordPress forms to the EasyDMARC 
email verification API and validates every submitted email address before the form
is accepted. It helps you block invalid, disposable, risky, and undeliverable addresses
from entering your system.

All verification requests are performed server-side — no JavaScript is sent to the
browser. Credentials are encrypted with AES-256 using your site’s `AUTH_KEY`.

#### Supported form plugins

 * Elementor Pro Forms
 * Contact Form 7
 * WPForms
 * Ninja Forms
 * Fluent Forms (free and Pro)
 * Gravity Forms
 * SureForms

#### How it works

 1. A visitor submits a form containing an email field.
 2. The plugin sends the address to the EasyDMARC API for real-time verification.
 3. If the result is not in your allowed list (e.g. you block “undeliverable”), the
    form is rejected and a clear error message is shown under the email field.
 4. Deliverable addresses pass through normally.

#### Key features

 * **Per-status control** — independently allow or block deliverable, risky, undeliverable,
   and unknown results.
 * **Allow on API error** — optionally permit submissions when the verification 
   service is unavailable.
 * **Custom error messages** — set your own text for invalid, risky, and API-error
   scenarios.
 * **Test Email tab** — verify any address from the admin panel and inspect the 
   raw API result.
 * **Bulk CSV verification** — upload a CSV file with up to 500,000 email addresses,
   verify them in bulk, view a visual breakdown (donut chart), and export filtered
   results as CSV.
 * **Buy Credits tab** — browse available EasyDMARC plans, see your current balance,
   and subscribe directly from the WordPress admin.
 * **Credit usage dashboard** — see your allocated credits, current balance, and
   usage at a glance.
 * **Debug logging** — errors are written to `debug.log` (with email addresses redacted)
   when `WP_DEBUG_LOG` is enabled.

#### Privacy

Email addresses are sent to `https://sender-api.easydmarc.com` for verification.
See EasyDMARC’s legal and privacy information at https://easydmarc.com/legal for
details on how verification data is handled.

### Requirements

 * WordPress 5.8 or later
 * PHP 7.4 or later
 * OpenSSL PHP extension
 * An EasyDMARC account with an API Client ID and Client Secret
 * One or more supported form plugins (Elementor Pro, Contact Form 7, WPForms, Ninja
   Forms, Fluent Forms, Gravity Forms, or SureForms)

## Installation

 1. Upload the `easydmarc-email-verification` folder to `/wp-content/plugins/` and 
    activate it, **or** search for “EasyDMARC Email Verification” in **Plugins  Add
    New** and click Install.
 2. Go to **EasyDMARC  Settings** and open the **API Settings** tab.
 3. Enter your EasyDMARC **Client ID** and **Client Secret**.
 4. Click **Verify API Key** to confirm your credentials are working.
 5. Enable the form integrations you use and configure which verification statuses 
    are allowed.

## FAQ

### Where do I get the API credentials?

Log in to your EasyDMARC account at https://easydmarc.com/ and navigate to the EasySender
section to generate your Client ID and Client Secret.

### Does this work without a paid EasyDMARC plan?

A free account includes a limited number of verification credits. Paid plans are
required for higher volumes. See https://easydmarc.com/pricing/ for details.

### Will the plugin block my forms if the API is down?

No — if you enable **Allow submission if verification service is unavailable** in
the settings, form submissions will pass through normally when the API cannot be
reached.

### Which email statuses should I allow?

At minimum, enable **deliverable**. Enabling **risky** is optional — risky addresses
exist but may bounce. We recommend blocking **undeliverable** and **unknown** to
keep your list clean.

### Are email addresses stored or logged?

No email addresses are stored by this plugin. Debug log entries automatically redact
all email addresses before writing to the log file.

### Is the plugin compatible with caching plugins?

Yes. All verification requests are made server-side during form submission (a POST
request), which bypasses page caching.

### Where can I report a bug or request a feature?

Please open a thread in the plugin’s support forum on WordPress.org.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“EasyDMARC Email Verification” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ EasyDMARC ](https://profiles.wordpress.org/easydmarc/)

[Translate “EasyDMARC Email Verification” into your language.](https://translate.wordpress.org/projects/wp-plugins/easydmarc-email-verification)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/easydmarc-email-verification/),
check out the [SVN repository](https://plugins.svn.wordpress.org/easydmarc-email-verification/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/easydmarc-email-verification/)
by [RSS](https://plugins.trac.wordpress.org/log/easydmarc-email-verification/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.4

 * Fixed: Credentials saved via the “Verify API Key” button are now encrypted before
   storage (security fix).
 * Fixed: All remaining “Unauthorized.” AJAX error messages are now translatable.
 * Fixed: Error message in usage tab now inserted as text to prevent potential XSS.
 * Improved: Renamed all internal identifiers from easysender_ to easydmarc_ across
   all files for consistency with the plugin slug.

#### 1.1.3

 * Fixed: Text domain updated to easydmarc-email-verification across all PHP files
   to match the plugin slug.
 * Improved: Bulk verification results now stored in per-chunk transients instead
   of a single large transient, reducing wp_options write overhead.
 * Fixed: constants.php now contains a proper ABSPATH guard instead of being empty.

#### 1.1.2

 * Fixed: Tab label in admin navigation now properly escaped with esc_html().
 * Improved: Bulk CSV job now stores the email list in a separate transient (written
   once on upload, never re-serialized on chunk updates), reducing wp_options write
   size during verification.

#### 1.1.1

 * Fixed: All API and account URLs now point to the production EasyDMARC endpoints.

#### 1.1.0

 * New: Bulk CSV email verification — upload up to 500,000 addresses, verify in 
   chunks, and view a visual breakdown with donut chart.
 * New: Export modal — filter results by status (deliverable, risky, undeliverable,
   unknown) with sub-filters (free account, role account, disposable, full inbox)
   and download as CSV.
 * New: Buy Credits tab — browse EasySender plans with pricing, see current balance,
   and subscribe directly from the admin panel.
 * New: Dynamic organisation ID retrieval via the EasySender /auth/me API endpoint(
   replaces hardcoded value).
 * Improved: Test Email tab redesigned with single-email test and bulk upload sections.

#### 1.0.0

 * Initial release.
 * Integrations: Elementor Pro Forms, Contact Form 7, WPForms, Ninja Forms, Fluent
   Forms (free + Pro), Gravity Forms, SureForms.
 * AES-256-CBC + HMAC-SHA256 credential encryption using WordPress AUTH_KEY.
 * Per-status allow/block rules (deliverable, risky, undeliverable, unknown).
 * Allow-on-API-error fallback option.
 * Custom error messages per scenario.
 * Test Email admin tab with live API result.
 * Credit usage dashboard with visual donut chart.
 * Debug logging with automatic email redaction.
 * Plugin data cleanup on uninstall.

## Meta

 *  Version **1.1.4**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [contact form 7](https://wordpress.org/plugins/tags/contact-form-7/)[elementor](https://wordpress.org/plugins/tags/elementor/)
   [email verification](https://wordpress.org/plugins/tags/email-verification/)[spam prevention](https://wordpress.org/plugins/tags/spam-prevention/)
   [WPForms](https://wordpress.org/plugins/tags/wpforms/)
 *  [Advanced View](https://wordpress.org/plugins/easydmarc-email-verification/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/easydmarc-email-verification/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/easydmarc-email-verification/reviews/)

## Contributors

 *   [ EasyDMARC ](https://profiles.wordpress.org/easydmarc/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/easydmarc-email-verification/)