Version: 1.3.13 · Platform: WordPress Plugin · API: email-validaton.com
N-Software Email Validator is a WordPress plugin for real-time email verification through the email-validaton.com API. It blocks fake registrations, disposable addresses, and non-existent mailboxes before they reach your database. The plugin works across three layers: real-time form protection, bulk CSV validation, and an Email Health scanner for cleaning existing data.
This guide covers every feature in detail — from installation to advanced troubleshooting.
What Is It?
The plugin intercepts every email address submitted on your WordPress site — on registration forms, contact forms, comments, and WooCommerce checkout — and validates it against the email-validaton.com API before WordPress processes it.
Three Layers of Protection
| Layer | Purpose |
|---|---|
| Real-Time Protection | Blocks bad addresses at form/registration submission |
| Bulk Validation | Checks CSV/TXT lists of up to 5,000 addresses at once |
| Email Health | Scans existing addresses in the database and allows deletion or anonymization |
Requirements
| Requirement | Minimum |
|---|---|
| WordPress | 6.2 or higher |
| PHP | 8.0 or higher |
| API Key | email-validaton.com/dashboard |
| Internet | Connection to the API service |
| Admin Access | manage_options capability for setup |
Installation — 4 Steps
- Upload the ZIP or folder
n-software-email-validatorto/wp-content/plugins/ - Plugins → Installed Plugins → Activate
- The menu item N-Software Email Validator appears in the sidebar
- Go to Settings → enter your API key → save. A green dot labelled API Connected confirms the link
Admin Panel Structure
N-Software Email Validator
├── Dashboard — Account, plan, statistics, quick single-email validation
├── Settings — API key, validation rules, form integrations
├── Bulk Validate — Mass verification of CSV/TXT files
├── Logs — Last 100 validations with detail
└── Email Health — Scan existing addresses + cleanup
Additional:
- WordPress Dashboard Widget — plan, credits, progress bar, today's statistics
- Users → All Users — Email Status column (Valid, Invalid, Risky, etc.)
Settings Reference
API Configuration
| Option | Description | Recommendation |
|---|---|---|
| API Key | Key from email-validaton.com | Required |
| Validation Timeout | Max wait for API response (1–30 s) | 10 s |
| Cache Results | Cache TTL in minutes (0 = off) | 60 min |
Cache saves credits — the same address is not re-sent to the API while the cache is valid.
Validation Rules
| Option | Effect |
|---|---|
| Validate on Registration | Checks email during WP user registration |
| Block Free Email Providers | Blocks Gmail, Yahoo, Outlook etc. regardless of status |
Form Integrations
Enable only the forms you use: Contact Form 7, WPForms, Gravity Forms, WooCommerce Checkout, Ninja Forms, Fluent Forms, Formidable, Forminator, MC4WP (Mailchimp), WS Forms, Mailster, WordPress Comments.
How Validation Works
Validation Flow
User submits a form with an email address
↓
Plugin intercepts BEFORE WordPress processes it
↓
Memory cache (instant, per-request)
↓
Persistent cache (WordPress transient, configurable TTL)
↓
API credits check (GET /api/v1/account)
↓
API validation call (POST /api/v1/verify)
↓
API returns status with confidence score and MX details
↓
BLOCK: invalid, disposable, error
ALLOW: valid, risky, unknown, over_quota, rate_limited
↓
Log to database + increment daily stats
Statuses Returned by the API
| Status | Meaning | Blocked? | Credits Consumed? |
|---|---|---|---|
valid |
Mailbox confirmed to exist | No | Yes |
invalid |
Mailbox does not exist | Yes | Yes |
disposable |
Temporary/disposable provider | Yes | No |
error |
Verification error | Yes | No |
risky |
Low confidence (catch-all, Yahoo, greylisting) | No | Yes |
unknown |
No definitive answer | No | No |
over_quota |
Mailbox is full | No | No |
rate_limited |
API rate gate — auto retries | No | No |
Key insight: Only
validandinvalidconsume credits. Disposable, error, unknown, over_quota, and rate_limited are free.
Default Blocking Rules
- Allowed: valid, risky, unknown, over_quota
- Blocked: invalid, disposable, error
- Optionally blocked: free email providers (Gmail, Yahoo…) if the toggle is on
When Anything Goes Wrong
The plugin never breaks your forms:
| Situation | Behaviour |
|---|---|
| Credits at 0 | Red admin notice, validation paused — forms still work |
| Credits < 5% | Yellow warning notice |
| API unreachable | Emails pass through (graceful fallback) |
| Rate limit | Auto-wait + retry — Health scan does not stop |
| Network error | Retry with exponential backoff |
Dashboard — Quick Start
N-Software Email Validator → Dashboard
- Account: Plan, remaining credits, progress bar
- Today's Stats: valid / invalid / risky / disposable for the current day
- Quick Validate: Enter an email, click Validate, see the result immediately
Use Quick Validate to test your API key and a single address before going live.
Bulk Validate — Mass Verification
N-Software Email Validator → Bulk Validate
Preparing the File
- Format: CSV or TXT
- One address per row (CSV: first column)
- Maximum 5,000 unique addresses
- Header rows (
email,e-mail) are auto-skipped
Steps
- Choose File → select CSV or TXT
- Start Bulk Validation
- Watch the progress bar (batch-by-batch)
- When complete: Export CSV with results
Export Contains
Email, Status, Confidence, MX Server, Is Free, Is Disposable, Is Role, Reason, Domain
Logs — Validation History
N-Software Email Validator → Logs
- Last 100 validations (email, status, confidence, MX, date)
- Debug Test — validate one address + log the result
- Clear Cache — purge cached results (not logs)
- Refresh — reload the table
- Logs older than 7 days are auto-cleaned via WP Cron
Email Health — Scan & Cleanup
The most powerful module. Checks existing addresses in your site database.
Sources Scanned
| Source | What It Scans |
|---|---|
| WordPress Users | user_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
| Button | Function |
|---|---|
| Start Scan | New scan (clears previous) |
| Continue Scan | Resume paused scan |
| Restart Fresh | Start from scratch |
| Pause | Pause (preserves progress) |
| Stop | Halt — data is kept |
| Save Progress | Manual save to server |
Batch size: 5–50 per batch. Pace: 200–10,000 ms between requests — lower = faster but higher API load.
Typical Workflow
- Choose sources (e.g. WP Users + Comments)
- Start Scan
- Monitor progress bar and statistics
- Filter bad categories (Invalid, Disposable, Error)
- Select rows or use Auto-select
- Delete Selected or Anonymize Selected
- For deletion: type DELETE in the confirmation modal
Filters and Table
- Filters: All, Valid, Invalid, Risky, Disposable, Unknown, Error, Mailbox Full, Rate Limited, Re-verified
- Columns: Email, Status, Confidence, MX Server
- Pagination: 25 / 50 / 100 per page
Re-verify
- Re-verify This Category — re-checks all entries in the active filter
- Re-verified entries show a 🔄 marker and a dedicated filter
Delete vs Anonymize
| Action | Effect |
|---|---|
| Delete | Permanently removes user/comment/WC data |
| Anonymize | Replaces email with anon-{id}@deleted.invalid |
⚠️ Deletion is irreversible — the modal requires the word DELETE for confirmation.
Persistence
- Progress saved in MySQL tables:
wp_north_ev_health_emails,wp_north_ev_health_results - Meta state:
nev_health_scan_stateoption - Save Progress uses UPSERT — never deletes existing results
- When leaving the tab, the plugin auto-saves via
sendBeacon
Important — Background Tab
Email Health and Bulk Validation run in the browser (JavaScript + AJAX). Inactive browser tabs slow timers — scans slow down or stop. Keep the admin tab active during large scans. Form/registration protection works normally without an open tab.
Users → Email Status Column
On Users → All Users you see a badge for each user:
- Status from user meta (
nev_email_status) - Fallback: latest entry in validation logs
- Updated on registration, form validation, and Email Health scans
Credits and Notifications
| Scenario | Behaviour |
|---|---|
| Credits at 0 | Red admin notice, validation paused, forms still work |
| Credits < 5% | Yellow warning notice |
| Rate limit | Auto-wait + retry (Health scan continues) |
| Network error | Retry with backoff (Health scan continues) |
| Purchase credits | email-validaton.com/dashboard |
Quick Scenario Guides
A — Protect Registration
- Settings → enter API Key
- Enable Validate on Registration
- Test: register with
test@mailinator.com— should be blocked
B — CF7 Form
- Settings → enable Contact Form 7
- Submit a test form with an invalid email
- Check Logs
C — Clean Up Old Users
- Email Health → select WordPress Users
- Start Scan → wait
- Filter Invalid + Disposable
- Delete Selected (confirm with DELETE)
D — Validate a Mailing List
- Bulk Validate → upload CSV
- Export results
- Remove invalid/disposable from your list in Mailchimp/Brevo/etc.
Database Schema (Technical)
Tables with $wpdb prefix:
| Table | Purpose |
|---|---|
north_ev_validation_logs |
Every validation with full detail |
north_ev_bulk_jobs |
Bulk job state and results |
north_ev_health_emails |
Email Health email list |
north_ev_health_results |
Email Health verification results |
- Deactivation: Data preserved
- Uninstall: Removes all tables, options, transients, and cron jobs
- Multisite: Supported — per-site or network-wide activation
FAQ / Troubleshooting
Q: Plugin Check reports errors?
A: Use the latest ZIP (1.3.13). Delete the old plugin before reinstalling.
Q: Validation does not work on a form?
A: Check that the integration is enabled in Settings and that you have credits.
Q: Lost Email Health progress?
A: Click Continue Scan. Data is in the database unless you used Restart Fresh.
Q: Save Progress reports an error but data is there?
A: In 1.3.x, Save verifies the number of rows server-side — refresh the page.
Q: Can I scan 50,000 addresses?
A: Technically yes, but keep the tab open and set pace to 1000–2000 ms.
Q: Where do I get an API key?
A: email-validaton.com → Dashboard → API Key.
Summary
N-Software Email Validator is a complete email hygiene toolkit for WordPress:
- Real-time protection on forms, registration, and WooCommerce checkout
- Bulk list validation with CSV/TXT upload
- Database cleanup via Email Health scanner
- Credit tracking with clear status indicators
For production use: configure Settings and Quick Validate first, then enable integrations, then use Email Health for an audit of existing addresses.