You built an email list. You ran a campaign. Open rates dropped. Bounce rates climbed. A week later, Gmail is routing half your messages to spam and you have no idea why. The list looked fine. Every address had an @ sign and a domain. Nothing bounced last time you sent. But that was three months ago, and email lists decay at roughly 2 to 3 percent per month. The addresses that worked in January are dead weight by April.
Email list verification is the process of checking every address on your list before you send to it. Not just syntax. Not just "does the domain exist." A proper verification pipeline checks 25 separate signals, from MX records and SPF alignment to spam trap detection and SMTP mailbox probing. The goal is a trust score for every address, so you can make informed decisions about who to keep, who to remove, and who to watch.
This is not optional hygiene. This is deliverability infrastructure. If you send email at any scale and you are not verifying your lists, you are gambling with your domain reputation every time you hit send.
Why Dirty Lists Destroy Deliverability
Inbox providers track everything. Google, Microsoft, Yahoo, and Apple all monitor your bounce rate, spam complaint rate, and engagement signals per sending domain. When you send to a list full of invalid addresses, three things happen simultaneously.
First, hard bounces spike. Every 5xx response tells the receiving server that you do not maintain your list. A bounce rate above 2 percent is a red flag. Above 5 percent, you are actively damaging your sender reputation with every campaign.
Second, spam traps fire. Spam traps are email addresses operated by ISPs and blocklist providers specifically to catch senders who do not verify their lists. They look like normal addresses. They do not bounce. They do not unsubscribe. They just silently record that you sent to them, and your domain gets flagged. There are two types: recycled traps (abandoned addresses repurposed as traps) and pristine traps (addresses that were never owned by a real person and only appear in scraped or purchased lists). Hitting either one accelerates reputation damage faster than any other single event.
Third, engagement metrics collapse. Invalid addresses contribute zero opens and zero clicks. Your engagement rate drops. ISPs interpret low engagement as a signal that recipients do not want your email. More messages go to spam. Fewer people see them. Engagement drops further. This is the deliverability death spiral, and it starts with a list you did not verify.
What Email List Verification Actually Checks
Verification is not a binary pass/fail. A proper verification system runs every address through a layered pipeline of checks, each one contributing to a trust score. TrekMail runs 25 checks in two phases. Here is what happens when you submit an address.
Phase 1: Hard Checks
These are binary. If any one of them fails, the address is invalid with a score of zero. There is no partial credit.
| Check | What It Does | Why It Matters |
|---|---|---|
| Syntax validation | Confirms RFC 5321 compliance | Catches formatting errors, double dots, missing TLD |
| Punycode and homograph detection | Flags IDN attacks and lookalike characters | Prevents phishing addresses from passing verification |
| Disposable domain check | Matches against 5,300+ known throwaway providers | Guerrilla Mail, Temp Mail, Mailinator addresses have zero long-term value |
| Admin blocklist | Checks your account-specific block list | Addresses you have manually flagged as problematic |
| MX record exists | DNS lookup for the domain mail server | No MX record means no mail server, which means the address cannot receive email |
| MX IP routable | Confirms the mail server IP is public, not private or reserved | Some domains have MX records pointing to 127.0.0.1 or RFC 1918 space |
| Bounce suppression | Checks if the address has hard-bounced on your account before | Sending to a known bouncer again damages reputation twice as fast |
If an address passes all seven hard checks, it moves to Phase 2 with a starting score of 100.
Phase 2: Soft Checks and Trust Scoring
Each soft check either deducts points from the score or adds informational flags. The final score determines the address category.
| Check | What It Does | Score Impact |
|---|---|---|
| Role-based detection | Flags addresses like info@, support@, admin@ | Informational flag (no penalty) |
| Gibberish detection | Identifies random character strings like xk7q9z@ | -15 points |
| Typo suggestions | Catches gmial.com, outlok.com, yaho.com | -10 points |
| Plus-addressing | Detects user+tag@ patterns | -5 points |
| DNSBL check | Queries Spamhaus and other blocklists for the domain | -30 points |
| Domain age (RDAP) | Looks up when the domain was registered | -10 if under 1 year old |
| Gravatar check | Tests if a Gravatar profile exists for the address | Informational (real person signal) |
| Name detection | Checks if the local part contains a recognizable name | Informational (real person signal) |
| Profanity detection | Flags offensive language in the local part | Informational flag |
| Domain website check | Confirms the domain has a live website | Informational (legitimacy signal) |
| Spam trap scoring | Heuristic scoring for spam trap characteristics | Variable deduction |
| SPF record check | Verifies the domain publishes an SPF record | Informational |
| DMARC record check | Verifies the domain publishes a DMARC policy | Informational |
| Free provider detection | Flags Gmail, Yahoo, Outlook addresses | Informational |
| Breached domain check | Cross-references known data breach databases | Informational |
| SMTP verification | Connects to the mail server and checks if the mailbox accepts mail | Definitive accept/reject signal |
| Custom domain bonus | Non-free domains with full DNS setup (MX + SPF + DMARC) | +5 points |
Trust Score Categories
After all checks run, every address lands in one of four categories based on the final score.
| Category | Score Range | What It Means | Recommended Action |
|---|---|---|---|
| Safe | 90 to 100 | All checks passed, high confidence this is a real, active mailbox | Send freely |
| Valid | 60 to 89 | Address works but has minor risk factors | Send with monitoring |
| Risky | 20 to 59 | Multiple warning signals, could be a trap or inactive | Review manually or remove |
| Invalid | 0 to 19 | Failed hard checks or accumulated too many penalties | Remove immediately |
This scoring approach gives you more control than a simple valid/invalid binary. An address scoring 62 might be worth keeping for a newsletter but not for a transactional email flow. An address scoring 85 with a role-based flag is probably fine for a B2B campaign but not ideal for personal outreach. The score lets you make those decisions based on your use case, not a one-size-fits-all threshold.
Quick Mode vs. Deep Mode
Not every verification needs every check. TrekMail offers two modes that let you choose the depth based on what you are doing.
Quick mode runs all Phase 1 hard checks plus the non-network Phase 2 checks: syntax, disposable, MX, role-based, gibberish, typo, plus-addressing, and bounce suppression. It costs 1 credit per address and returns results in milliseconds. Use Quick mode for real-time signup validation, webhook-triggered checks, or a fast sweep of a list you recently cleaned.
Deep mode runs the full 25-check pipeline including SMTP verification, DNSBL queries, domain age lookup via RDAP, Gravatar check, spam trap scoring, and breached domain detection. It costs 2 credits per address. Use Deep mode before a major campaign, when importing a purchased list, when auditing a list you have not sent to in months, or any time you need the highest confidence possible.
| Feature | Quick Mode | Deep Mode |
|---|---|---|
| Credits per address | 1 | 2 |
| Checks run | Core checks | All 25 checks |
| SMTP verification | No | Yes |
| DNSBL lookup | No | Yes |
| Domain age (RDAP) | No | Yes |
| Spam trap scoring | No | Yes |
| Speed | Milliseconds | 1 to 3 seconds |
| Best for | Signup forms, quick sweeps | Campaigns, imports, audits |
Bulk Verification: Cleaning Entire Lists
Single-address verification is useful for signup flows and API integrations. But if you are sitting on a list of 10,000 or 50,000 addresses that you need to clean before a campaign, you need bulk verification.
TrekMail handles up to 50,000 addresses per bulk job. Upload a CSV or XLSX file through the dashboard (drag and drop), or submit via the API. The system deduplicates your list automatically, so you do not pay twice for the same address.
Behind the scenes, bulk verification runs on a three-tier job architecture. First, the system parses your file and pre-fetches DNS records for every unique domain in the list. Then it splits the work into batches and distributes them with round-robin scheduling, so your job does not monopolize the queue and other accounts get fair processing time. Finally, each batch runs the full verification pipeline in parallel.
You get real-time progress in the dashboard. A stats bar shows how many addresses have been checked and the running breakdown: safe, valid, risky, invalid. When the job completes, you can download results as a CSV filtered by category. Need only the safe addresses? Export just those. Want to review risky ones manually? Export that segment.
Results are retained for 15 days and then automatically deleted. No long-term storage of third-party email addresses on our servers.
API Integration
If you want to verify addresses programmatically, the REST API covers everything the dashboard does. Authenticate with a bearer token, choose your scope (verify:read for checking results, verify:write for submitting verifications), and start making requests.
Single address verification
curl -X POST https://trekmail.net/api/v1/verify -H "Authorization: Bearer tm_live_your_token" -H "Content-Type: application/json" -d \x27{"email": "user@example.com", "mode": "deep"}\x27
The response includes the trust score, status category, and a full breakdown of every check that ran:
{
"status": "safe",
"score": 95,
"mode": "deep",
"checks": {
"syntax": true,
"mx": true,
"disposable": false,
"role_based": false,
"gibberish": false,
"dnsbl_listed": false,
"domain_age_days": 365,
"smtp_status": "accepted"
}
}
Bulk submission
curl -X POST https://trekmail.net/api/v1/verify/bulk -H "Authorization: Bearer tm_live_your_token" -H "Content-Type: application/json" -d \x27{
"emails": ["a@example.com", "b@test.com"],
"name": "March campaign cleanup",
"mode": "deep"
}\x27
The API returns a job ID immediately. Poll the status endpoint to track progress, or set up a webhook to get notified when the job completes. When it finishes, paginated results are available at the same endpoint, and you can download a CSV export filtered by status.
Rate limits: 60 single verifications per minute, 10 bulk submissions per minute, 120 status polls per minute.
For AI agent workflows, TrekMail also provides MCP (Model Context Protocol) tools. Eight verification tools let AI agents verify addresses, submit bulk jobs, check credits, and download results as part of automated workflows in Claude Desktop, Claude Code, Cursor, or any MCP-compatible client.
When to Verify Your List
The biggest mistake is treating email list verification as a one-time event. Lists decay continuously. People change jobs, abandon addresses, let domains expire. A list that was 95 percent clean in January could be 85 percent clean by June. Here is when verification should happen.
Before every major campaign. If you are sending to more than a few hundred addresses, run a Quick mode sweep at minimum. The cost is trivial compared to the reputation damage from a 5 percent bounce rate.
After any gap in sending. If you have not emailed a segment in 90 days or more, verify before re-engaging. Addresses go stale fast. Corporate mailboxes get decommissioned. Free email accounts get abandoned and recycled as spam traps.
When importing addresses from any external source. Purchased lists, event registrations, partner data shares, scraped data, whatever the source. Deep mode verification is non-negotiable here. You do not know the collection methodology, the age of the data, or whether any of it has been through a spam trap honeypot.
At the point of collection. Add single-address verification to your signup form, checkout flow, or lead capture. Catch typos and disposable addresses before they enter your database. Quick mode at the API level adds negligible latency and prevents bad data from accumulating in the first place.
On a schedule. For large, actively growing lists, run a monthly or quarterly bulk verification job. Think of it like changing the oil. Not exciting. Not optional.
Credits and Pricing
Every TrekMail plan includes free monthly verification credits that reset automatically.
| Plan | Monthly Price | Free Credits / Month | Included With |
|---|---|---|---|
| Free | -bash | 10 | Email hosting account |
| Starter | 100 | Email hosting + API read access | |
| Pro | 0 | 300 | Full API access + forwarding |
| Agency | 3.25 | 1,000 | Full API + 1,000 domains |
Need more? Purchase additional credits through the dashboard. The pricing calculator on the Email Verifier page shows per-email cost at every volume tier. Larger purchases cost less per address.
Quick mode uses 1 credit. Deep mode uses 2. Duplicate addresses in bulk jobs are deduplicated automatically, so you are not charged for the same address twice in the same job. If you cancel a bulk job before it finishes, unprocessed credits are refunded to your balance.
Built Into Your Email Hosting
Most email verification services are standalone tools. You verify a list in one product, then go send from another product. The two systems do not talk to each other.
TrekMail is different because the verifier is part of the email hosting platform. This creates two advantages that standalone tools cannot match.
Automatic bounce suppression. When an address hard-bounces on your TrekMail account, it gets added to your suppression list automatically. The verifier checks that list as part of Phase 1. If you try to verify an address that already bounced on your account, it is flagged immediately. No other verification service has access to your sending history, so they cannot offer this check.
Postfix-level protection. TrekMail syncs the suppression list to the Postfix mail server every 5 minutes. This means even if an invalid address somehow makes it past verification and into your send queue, the MTA itself blocks delivery. The bad address never leaves your server. Your sender reputation stays clean.
You do not need separate accounts, separate billing, or separate API tokens for hosting and verification. One platform, one dashboard, one set of credentials.
Security and Privacy
Verification requires handling other people email addresses, so security is not optional.
- TLS encryption on all API traffic and dashboard connections
- Automatic deletion of bulk verification results after 15 days
- GDPR compliance with on-demand job deletion via API (
DELETE /api/v1/verify/bulk/{jobId}) - No email content storage. The verifier checks addresses, not messages
- Timing attack protection. Single verification responses are padded to a minimum of 200ms so attackers cannot infer results from response time
Try It Right Now
The TrekMail Email Verifier has a live demo on the public page. Type any email address and get an instant verification result with the trust score and check breakdown. No signup required. No credit card. Just paste an address and see what comes back.
When you are ready to clean a full list, create a free account and use your 10 monthly credits, or pick a plan that matches your volume. The Pro plan at 0/month gives you 300 free credits, full API access, SMTP verification in Deep mode, and everything else covered in this article.
Your list is either an asset or a liability. Verify it before your next send.