DEV Community

andy
andy

Posted on • Originally published at blog.parheliaweb.com

I Built an Email Validation API. Here’s Why Microsoft Lies to You.

Most email validation tools are black boxes. You send them an address, they spit out "valid" or "invalid", and you pray.

But when a "clean" list suddenly hits a 21% bounce rate overnight and your sender reputation tanks, you realize that a simple boolean isn't enough. You need to know why.

If you're building a SaaS onboarding flow, a newsletter platform, or a CRM, protecting your domain reputation is non-negotiable.

This post shows you why basic validation fails, the hidden traps of SMTP probing, and how to actually get the context you need to keep your emails out of the spam folder.


1. The Hard Way: Falling Down the Rabbit Hole

Most developers start with a simple Regex check. It catches typos, but it completely misses disposable domains.

So you add an MX record lookup. That works, until you realize the domain has a "catch-all" setup, meaning it accepts anything.

So you build an SMTP probe to have a real conversation with the mail server without actually sending an email. It works perfectly... until it doesn't:

  • Microsoft lies to you: Outlook/Hotmail servers will accept almost any address during the SMTP handshake to prevent directory harvesting, returning a fake "250 OK".
  • Gmail throttles you: If you probe too many Gmail addresses in a short window, they silently soft-bounce or temporarily block your IP.
  • Yahoo blocks you entirely: Aggressive probing triggers immediate firewall drops.
  • Your own IP gets blacklisted: If you don't rate-limit your probes, Spamhaus will flag your verification server as a dictionary attack source.

Three months in, you aren't building your core product. You are maintaining a fragile, rate-limited, IP-reputation-sensitive scraping operation.


2. The Smart Way: Context Over Certainty

After watching good domains get blacklisted by bad data, I completely redesigned our validation infrastructure at ParheliaWeb.

We moved to a dedicated Python infrastructure with clean, segregated IPs and strict rate limiting. But the biggest change wasn't the infrastructure; it was the output.

Instead of a black box "valid/invalid", we return context.

Here is how to validate an email with full transparency in Python:

import requests

API_KEY = "your_api_key_here"  # Get one at parheliaweb.com

response = requests.post(
    "https://parheliaweb.com/v1/email/validate",
    headers={
        "Content-Type": "application/json",
        "x-api-key": API_KEY
    },
    json={"email": "user@outlook.com"}
)

print(response.json())
Enter fullscreen mode Exit fullscreen mode

What you get back (Example of a "Risky" Outlook address):

{
  "status": "ok",
  "result": {
    "email": "user@outlook.com",
    "status": "risky",
    "confidence": 45,
    "syntax_valid": true,
    "mx_valid": true,
    "smtp_check": {
      "performed": true,
      "result": true,
      "code": 250,
      "message": "Mailbox accepted (code 250)"
    },
    "catch_all": {
      "detected": true,
      "message": "Domain accepts all test addresses — likely catch-all"
    },
    "risk_factors": [
      {"factor": "catch_all_domain", "severity": "medium"}
    ]
  }
}
Enter fullscreen mode Exit fullscreen mode

No guessing. No black boxes. Just the exact technical reason why an email is risky, so you can make an informed decision.


3. Build vs. Buy: The Real Math

Factor Build Yourself Use ParheliaWeb API
Time to first result 2-4 weeks 5 minutes
Ongoing maintenance 5-10 hours/week (managing IP reputation) 0
Disposable domain list Manual, constantly outdated 260,000+ updated daily
SMTP Probe Risk High (your IP gets blacklisted) Zero (we use segregated clean IPs)
Output "Valid" / "Invalid" Detailed risk scoring & reasoning
Cost Engineering time + proxy costs Starts at €39/mo (€31.20 launch offer)

The rule: If your core business is email deliverability, build it. If your core business is using the data, buy it.


4. Getting Started

Start with 100 free API checks per month — no credit card required. Test the transparency, validate the data quality, and upgrade when you're ready.

👉 Get your free API key and view live pricing


5. Questions?

I'm Andy, the founder. I read every email.

📧 info@parheliaweb.com

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.