Back to blog

How to Use MailCull: A Complete Walkthrough

Step-by-step walkthrough of MailCull: Verify Email, Verify List, the evidence chain, and how to read every verdict. Includes Free and Pro plan details.

On this page · 10 sections

MailCull is built around one job done well: tell you exactly which addresses in a list are deliverable, risky, undeliverable, or unknown, and show you the evidence for every verdict so you can defend the decision.

This guide walks through the entire workflow from signup to first cleaned list, with the engine details that explain why a verdict is what it is. By the end you should know which checks ran, how to read the evidence chain, when to use Verify Email vs Verify List, and how to decide between the Free and Pro tiers.

The four-status taxonomy

Every email MailCull validates ends up in one of four buckets. Same names everywhere: UI, API, CSV export, dashboard chips:

  • Deliverable: server confirmed the mailbox exists and is not role-based, disposable, or catch-all
  • Risky: real mailbox probably, but something makes sending uncertain (catch-all, role address, disposable provider, low-confidence cascade signal, signals-disagree on M365)
  • Undeliverable: server rejected, format invalid, or no MX records
  • Unknown: could not determine (greylisted, server refused, network error, timeout)

These four words never change. Workflows and integrations are keyed on them. We will not introduce a fifth status, rename the four, or split them into sub-categories, too many downstream things break.

Step 1: Sign up

Open MailCull and sign up for the free tier. No credit card. The Free tier includes:

  • 500 validation credits per month: one credit per validated email, quick scan or deep scan
  • Deep scan included: full SMTP probe, the M365 cascade for Microsoft 365 tenants, catch-all multi-probe consensus, and the 20-code evidence chain on every verdict
  • Both Verify List and Verify Email: same scan engine, CSV uploads or single-email checker
  • Result retention as documented in the privacy policy

Quick scan returns the verdict using only the cheap signals (regex, DNS lookup, typo distance, disposable list). Deep scan adds the full SMTP probe, the M365 corporate cascade for Microsoft 365 tenants, the catch-all multi-probe consensus, and the evidence chain. Both run on Free and Pro, the difference between plans is the monthly credit pool, not the engine.

Step 2: Try Verify Email first

Verify Email validates one address at a time. It is the right tool when:

  • You want to test a single high-stakes contact before sending
  • You are evaluating MailCull and want to see the evidence chain in detail
  • You want to validate inline in a workflow (one address per request via the API)

Open Verify Email, paste an address, hit verify. The result card shows the verdict at the top, then the full evidence chain expanded by default. Every check is a row with the finding code, the plain-English explanation, and the underlying signal.

A real example for a corporate Microsoft 365 address looks like this:

[email protected]                 ✓ deliverable
─────────────────────────────────────────────────────────
syntax_valid              Email format passed RFC 5321 validation
mx_found                  MX record: example-corp-com.mail.protection.outlook.com
provider_microsoft        Microsoft 365 protected tenant
m365_http_enum            Microsoft confirmed mailbox via GetCredentialType
m365_smtp_corroborated    SMTP probe agreed: 250 OK on RCPT TO
tls_upgraded              STARTTLS handshake completed
smtp_confirmed            Server returned 250 2.1.5 OK

Confidence: 0.94          Source IP: probe-1.mailcull.io

The confidence score (0 to 1) is the dominant-signal aggregate. 0.94 is high confidence, multiple independent signals agreed. A 0.62 verdict has signals contradicting each other (commonly: SMTP says yes but the domain is a catch-all, or the cascade says deliverable but role-based local-part).

Step 3: Upload a list with Verify List

Verify List handles bulk validation. The right tool when:

  • You have a CSV from your ESP, CRM, or scraping tool
  • You want to clean a list before importing into Mailchimp, Klaviyo, HubSpot, etc.
  • You need filterable results to decide what to send and what to remove

The flow:

  1. Upload the CSV. MailCull accepts standard CSVs and finds the email column even if your file has extra columns (names, phones, company fields, tags). Per-upload row cap is 1,000 on Free and 100,000 on Pro.
  2. Watch the progress strip. Quick-scan completes within seconds for thousands of rows. Deep-scan runs the full SMTP probe pipeline including the M365 cascade, typically 200ms-2s per row, with the per-MX rate limiter pacing the requests so we do not get probe-blocked.
  3. Review the four-status breakdown. The summary card shows counts for deliverable, risky, undeliverable, unknown. Each row has the verdict, the dominant reason, and the full evidence chain on click.
  4. Filter, sort, and export. Filter by status (e.g., export only deliverable rows). Sort by score, by confidence, or by domain. Download the cleaned CSV with the original columns plus the validation columns appended.

Step 4: Read the evidence chain

The evidence chain is the moat, what no other validator surfaces per-check. Worth knowing how to read it.

Domain-level flags (set during initial validation)

  • provider_microsoft: MX matches *.mail.protection.outlook.com
  • provider_google: MX matches .google.com or .googlemail.com
  • free_provider: Domain is in the free-provider list (Gmail, Yahoo, Outlook consumer, iCloud, AOL, Proton, Yandex, Zoho)
  • role_based: Local-part is a role address (admin@, info@, support@, contact@)
  • disposable_domain: Domain is on the disposable list (temporary email providers)
  • mx_missing: DNS returned no MX records
  • typo_suspected: Domain is one Levenshtein edit away from a known-good domain
  • smtp_catch_all_suspected: Multi-probe consensus indicates the domain accepts all recipients

SMTP outcome flags (the actual probe result)

  • smtp_confirmed: Server returned 250 OK for RCPT TO
  • smtp_rejected: Server returned 550 / 5.1.1 (mailbox does not exist)
  • smtp_quota_exceeded: Mailbox exists but full
  • smtp_greylisted: Temporary 4xx with greylisting hint
  • smtp_policy_block: Provider blocks probing (Proofpoint, Mimecast, etc.)
  • smtp_timeout / smtp_connection_failed / smtp_protocol_error / smtp_unknown. Various error classes

M365 cascade flags (set when MailCull runs the Microsoft 365 cascade)

  • m365_http_enum: The cascade produced the verdict via Microsoft's auth endpoints
  • m365_cache_hit: The verdict came from the per-mailbox cache (24h TTL)
  • m365_smtp_corroborated: SMTP cross-check probe agreed with the cascade verdict
  • m365_smtp_disagreed: SMTP cross-check probe contradicted the cascade, verdict downgraded to risky

When you see m365_smtp_disagreed and a risky verdict, MailCull caught a case where Microsoft's identity layer says "user exists" but the SMTP server bounces (typical for orphan directory entries, decommissioned employees whose identity is retained but mailbox is removed). Most validators return valid here and your client gets a bounce.

Step 5: Decide which plan fits

The free tier is enough to clean a real test segment monthly and decide if MailCull fits your workflow. If yes, the upgrade path is one plan, one price:

PlanValidation credits / moAPIMCPPrice
Free500--$0
Pro100,000✓ REST API✓ Claude, Cursor, any MCP client$9/month flat

One credit covers one validated email, quick scan or deep scan, same cost. Pro is monthly only (no annual SKU).

What is included on every plan including Free:

  • Full 20-code evidence chain
  • M365 corporate cascade with cross-check
  • Catch-all detection with confidence scoring
  • Deep scan (full SMTP probe with mailbox-level reach)
  • Methodology page, status page, changelog access
  • 30-day money-back guarantee on Pro (refund via Paddle)

What is not included anywhere: by deliberate scope choice:

  • Email finder (Hunter owns that category)
  • Deliverability suite (DMARC monitoring, blacklist monitoring, inbox placement testing)
  • Email warmup
  • White-label / custom-domain probe
  • iOS app

We do one job, email validation with an explainable evidence chain, and we do it well. Bundles dilute focus.

When to use Verify Email vs Verify List

Use Verify Email when:

  • You have one specific address to check
  • You want to evaluate the engine on a single high-stakes contact before sending
  • You are integrating per-request via the API (signup form validation, lead enrichment)

Use Verify List when:

  • You have a CSV with more than 10 addresses
  • You want filterable, sortable results
  • You are doing pre-send hygiene on a list that will go into your ESP or CRM

Both run the same engine. Verify Email shows the evidence chain expanded by default; Verify List collapses it per-row but every row's chain is one click away.

The API

Every MailCull verdict is also available via API. The POST /v1/verify endpoint returns the verdict plus the full 20-code evidence chain in JSON:

{
  "email": "[email protected]",
  "status": "deliverable",
  "score": 94,
  "confidence": 0.94,
  "reason": "smtp_confirmed",
  "reason_flags": [
    "syntax_valid", "mx_found", "provider_microsoft",
    "m365_http_enum", "m365_smtp_corroborated",
    "tls_upgraded", "smtp_confirmed"
  ],
  "evidence": [
    { "signal": "syntax", "finding": "syntax_valid", "tone": "good", "confidence": 1.0 },
    { "signal": "mx", "finding": "mx_found", "tone": "good", "confidence": 1.0 },
    { "signal": "provider", "finding": "provider_microsoft", "tone": "good", "confidence": 0.95 },
    { "signal": "smtp", "finding": "smtp_confirmed", "tone": "good", "confidence": 0.94 }
  ],
  "duration_ms": 1247
}

API access requires Pro. On Pro you get the full REST API (documented via OpenAPI spec) at up to 300 requests per minute. Free has no API access, sign up for Pro at $9/month flat when you need it.

Pro also includes MCP / Connected Apps: connect Claude, Cursor, or any MCP-compatible AI client from Account → Connected apps and let your assistant verify single addresses, queue batch jobs, and check your credit balance on your behalf. MCP support is uncommon in the email-validation category as of May 2026 (ZeroBounce shipped one in December 2025 too); MailCull's MCP is included in the $9/mo Pro tier.

What MailCull is not for

A few cases where MailCull is the wrong answer, in honest framing:

  • You need email finder functionality: use Hunter
  • You need DMARC monitoring or blacklist monitoring: use dmarcian, Postmark, or Valimail
  • You need email warmup: use Mailwarm or Warmup Inbox
  • Your procurement gates on SOC 2 Type II today: our audit is in progress (planned month 9 of 2026); if you cannot wait, ZeroBounce or Kickbox are the right answers
  • Your procurement gates on ISO 27001 or HIPAA: we do not pursue these

For everything else: cold-email operators needing defensible verdicts, agencies running list hygiene as billable services, developers integrating validation into apps, B2B teams cleaning Microsoft 365 corporate lists. MailCull is built for exactly that.

Get started

Sign up for the free tier. 500 validation credits per month, recurring. No credit card.

Or paste any email into the free single-email checker right now to see the evidence chain, no signup required.

If you have questions about the engine, the methodology, or which plan fits, email us at [email protected]. We read every signup's first few jobs personally.

  • The MailCull team
Try it

Start with 500 free validation credits. No credit card.

Both Free and Pro run the same scan engine — full SMTP probe, MX lookup, typo, disposable, domain checks, and the evidence chain on every verdict. The difference is the monthly credit pool (Free=500, Pro=100,000) plus Pro's API and MCP access.

Found a mistake? Email [email protected]. Tags · mailcull · verify-list · verify-email · quick-start · evidence-chain