Gmail, Yahoo, and Outlook together account for over 70% of all email addresses on the internet. Yet all three providers block standard SMTP verification — making it nearly impossible to confirm whether an address actually exists using traditional methods.
This guide explains why SMTP fails for these providers and how CheckMail1 solves it using provider-specific verification methods.
Standard email verification works by connecting to the mail server and simulating delivery with standard SMTP commands commands. This works for many smaller domains. But the big three have blocked it:
CheckMail1's proprietary check reveals whether a Gmail address exists without requiring a password. CheckMail1 queries this system programmatically and returns a definitive result. The check takes 2–5 seconds.
our proprietary check similarly confirms account existence. CheckMail1 queries our proprietary check and returns an accurate exists/not-exists result, avoiding the catch-all false positives from SMTP.
Microsoft's account lookup API confirms whether a given email is registered as a Microsoft account. CheckMail1 uses this to verify all @outlook.com, @hotmail.com, and @live.com addresses.
The API is the same regardless of provider — CheckMail1 automatically detects the domain and routes to the correct verification method.
curl "https://checkmail1.com/api/[email protected]" \
-H "X-API-Key: mvp_your_key_here"
{
"email": "[email protected]",
"status": "valid",
"valid": true,
"score": 98,
"confidence": "high",
"checks": {
"google": {
"checked": true,
"exists": true,
"method": "native_check"
}
},
"elapsed_ms": 2940,
"credits_remaining": 99
}
import requests
API_KEY = "mvp_your_api_key"
emails = [
"[email protected]",
"[email protected]",
"[email protected]"
]
for email in emails:
resp = requests.get(
"https://checkmail1.com/api/verify",
params={"email": email},
headers={"X-API-Key": API_KEY}
)
data = resp.json()
print(f"{email}: {data['status']} (score: {data['score']})")
status: "valid" — The address exists and is activestatus: "invalid" — The address does not existstatus: "unknown" — Provider was temporarily unavailable or rate-limitedconfidence: "high" — Result from provider-specific check (not SMTP guess)checks.google.method: "native_check" — Verified via Google's own systemCheckMail1 also supports provider-specific verification for:
100 free verifications on signup. Accurate results for all major providers. No credit card required.
Start Free →