N-Software Email Validator — WordPress Plugin

Version 1.3.13| Author: N-Software| Requires PHP 8.0+| Requires WP 6.2+

Real-time email validation plugin for WordPress.
Block disposable, invalid, and risky email addresses on registration, contact forms, comments, and WooCommerce checkout — before they reach your database.

What Is N-Software Email Validator?

N-Software Email Validator is a WordPress plugin for real-time email address verification through the email-validaton.com API. It prevents fake registrations, disposable (temporary) addresses, and non-existent mailboxes before they enter your database — on registration, forms, comments, and WooCommerce checkout.

Three layers of protection:

Real-Time Protection
Blocks bad addresses when a form or registration is submitted
Bulk Validation
Checks CSV/TXT lists of up to 5,000 addresses at once
Email Health
Scans existing addresses on your site and lets you delete or anonymize bad ones

Validation Flow — How It Works

User submits a form with an email addressPlugin intercepts the email BEFORE WordPress processes it ↓ Checks memory cache (instant, per-request) ↓ Checks persistent cache (WordPress transient, configurable TTL) ↓ Checks API credits (GET /api/v1/account) ↓ Calls API validation (POST /api/v1/verify) ↓ API returns status — with confidence score and MX details ↓ BLOCK if: invalid, disposable, error ↓ ALLOW if: valid, risky, unknown, over_quota, rate_limited ↓ Log to database + increment daily stats

Email Statuses — What Gets Blocked, What Consumes Credits

StatusMeaningBlocked?Credits?
validMailbox confirmed to existNoYes
invalidMailbox does not existYesYes
disposableTemporary/disposable providerYesFree
errorVerification error (network, timeout)YesFree
riskyLow confidence (catch-all, Yahoo, greylisting)NoYes
unknownNo definitive answer from serverNoFree
over_quotaMailbox is fullNoYes
rate_limitedAPI rate gate — auto retriesNoFree

Key: Only valid and invalid consume credits. Disposable, error, unknown, and rate_limited checks are free — block throwaway addresses without spending credits. valid, invalid, and over_quota consume 1 credit each.

Graceful Degradation — Forms Never Break

SituationBehaviour
Credits at 0Red admin notice, validation paused, all forms still work
Credits < 5%Yellow warning notice in admin
API unreachableEmails pass through (graceful fallback); configurable "Block on error" option
Rate limit hitAutomatic wait + retry — Health scan does not stop
Network errorRetry with exponential backoff

Form Integrations — 9+ Plugins

Natively integrates with these form builders and platform features:

Contact Form 7 — Built-in hook
WPForms — Built-in hook
Gravity Forms — Built-in hook
WooCommerce — Checkout & registration
Ninja Forms — Built-in hook
Fluent Forms — Built-in hook
Formidable — Built-in hook
Forminator — Built-in hook
MC4WP (Mailchimp) — Built-in hook
WS Forms — Built-in hook
Mailster — Built-in hook
WordPress Registration — Core hooks
WordPress Comments — Comment author email

All integrations display inline errors — red text next to the email field, matching each plugin's native error style. The form never submits if the email is blocked.

Admin Panel Structure

N-Software Email Validator ├── Dashboard — Account, plan, statistics, quick single-email validation ├── Settings — API key, rules, form integrations, cache TTL ├── Bulk Validate — Mass verification of CSV/TXT files (up to 5,000) ├── Logs — Last 100 validations with details + Debug Test + Clear Cache └── Email Health — Scan existing addresses + delete/anonymize bad ones

WordPress Dashboard Widget: Plan, credits, progress bar, and today's statistics at a glance.

Users → All Users: Email Status column with badge — Valid, Invalid, Risky, etc.

Settings Reference

OptionDescriptionRecommendation
API KeyKey from email-validaton.comRequired
Validation TimeoutMaximum wait for API response (1–30 s)10 s
Cache ResultsCache TTL in minutes (0 = off)60 min
Validate on RegistrationValidate email during WP registrationEnabled
Block Free Email ProvidersBlock Gmail, Yahoo, Outlook etc.Optional
Cache saves credits — same address is not re-sent to the API while cached.

Email Health — Scan & Cleanup Existing Addresses

The most powerful module. Checks addresses already in your site database:

Sources scanned:

WordPress Usersuser_email for all users
WooCommerce Customers — WC customer lookup
WooCommerce Orders — Billing email from orders
Comment Authors — Comment author emails
CF7 Submissions — CF7 email meta (if present)

Scan controls: Start Scan, Continue, Restart Fresh, Pause, Stop, Save Progress.
Batch size: 5–50 emails per batch. Pace: 200–10,000 ms between requests.

Filter by status: All, Valid, Invalid, Risky, Disposable, Unknown, Error, Mailbox Full, Rate Limited, Re-verified.
Actions: Delete Selected (permanent, requires DELETE confirmation) or Anonymize Selected (replaces with anon-{id}@deleted.invalid).

Re-verify: Re-check a category or selected rows without losing previous progress.

⚠️ Email Health and Bulk Validation run in the browser (JavaScript + AJAX). Keep the admin tab active during large scans — background tabs slow browser timers.

Bulk Validation — Process Up to 5,000 Addresses

Upload a CSV or TXT file — one address per line (CSV: first column). Header rows are auto-skipped. The plugin processes them in batches with a live progress bar.

When the job completes, export results as CSV containing: Email, Status, Confidence, MX Server, Is Free, Is Disposable, Is Role, Reason, Domain.

Logs — Validation History

View the last 100 validations with full detail: email, status, confidence score, MX server, date.

Debug Test: Single-address validation with database logging.
Clear Cache: Purges cached results (not logs).
Auto-cleanup: Logs older than 7 days are removed via WP Cron.

Technical Details

Database tables ($wpdb prefix):

wp_north_ev_validation_logs — Every validation: email, status, confidence, MX wp_north_ev_bulk_jobs — Bulk job state and results wp_north_ev_health_emails — Email Health email list wp_north_ev_health_results — Email Health verification results

Deactivation: Data remains. Uninstall: Removes all tables, options, transients, and cron jobs.
Multisite: Supported — per-site or network-wide activation.

Security

  • SQL Injection: All queries use $wpdb->prepare()
  • XSS: esc_html__(), esc_attr(), esc_url() throughout
  • CSRF: All AJAX handlers verify nonces
  • Capability Check: manage_options on all admin endpoints
  • Direct Access: if (!defined('WPINC')) die; in all files
  • API Key: sanitize_text_field() with validation before saving
  • File Uploads: Extension check + sanitize_email() + is_email()

FAQ / Troubleshooting

Q: Validation doesn't work on a form?
A: Check that the integration is enabled in Settings and that you have credits available.

Q: Lost Email Health progress?
A: Click Continue Scan. Data is stored in the database. Only Restart Fresh clears it.

Q: Plugin Check reports errors?
A: Use the latest ZIP (1.3.13). Delete the old plugin before reinstalling.

Q: Can I scan 50,000 addresses?
A: Technically yes, but keep the tab open and set a pace of 1000–2000 ms to stay within rate limits.

Q: Where do I get the API key?
A: email-validaton.com → Dashboard → API Key

Requirements

WordPress 6.2+
PHP 8.0+
API Key from email-validaton.com
Internet connection to API service
Admin access (manage_options) for setup

Installation — 4 Steps

  1. Upload the ZIP or folder n-software-email-validator to /wp-content/plugins/
  2. Plugins → Installed Plugins → Activate
  3. Navigate to N-Software Email Validator → Settings and enter your API key
  4. Save — a green dot confirms API connection. Start validating.
Download Plugin v1.3.13 — Free

Requires free API key from email-validaton.com