Email Verification
Detect fraudulent, disposable, and risky email addresses.
Overview
Email verification analyzes multiple signals:
- Syntax validation - Is the format correct?
- Domain analysis - Is the domain real and established?
- Disposable detection - Is it a temporary email?
- Breach checking - Has this email been compromised?
- Pattern analysis - Does it match fraud patterns?
Using Email Verification
curl -X POST https://api.simplr-ai.com/v1/check \
-H "X-API-Key: sk_live_xxxxx" \
-d '{"email": "user@example.com"}'
Email Signals
| Signal | Description | Risk Impact |
|---|---|---|
is_disposable | Temporary email service | High |
is_free_provider | Gmail, Yahoo, etc. | Low |
has_mx_records | Domain can receive email | Medium if missing |
domain_age_days | How old the domain is | High if new |
has_breaches | Found in data breaches | Medium |
breach_count | Number of breaches | Increases risk |
Risk Scoring
| Condition | Score Impact |
|---|---|
| Disposable email | +40 |
| No MX records | +30 |
| Domain < 30 days old | +25 |
| Multiple breaches | +5 per breach |
| Free provider | +5 |
| Corporate domain | -10 |
Disposable Email Detection
We maintain a database of 100,000+ disposable email domains:
{
"email": "test@mailinator.com",
"signals": {
"email": {
"is_disposable": true
}
},
"risk_score": 65
}
Breach Checking
Emails are checked against known data breaches:
{
"signals": {
"email": {
"has_breaches": true,
"breach_count": 3,
"breaches": [
{"name": "LinkedIn 2021", "date": "2021-06-22"},
{"name": "Adobe 2013", "date": "2013-10-04"}
]
}
}
}
Best Practices
- Always check signups - Catch fraud at registration
- Block disposable emails - For most use cases
- Allow breached emails - Many legitimate users have them
- Consider domain age - Very new domains are suspicious
- Combine with device signals - Email alone isn't enough