Email Address Validation & Risk Scoring
Validate email addresses at signup to reduce fraud, bounce rates, and fake accounts
Invalid and disposable email addresses cost businesses through fake signups, high bounce rates, and fraud. EdgeDNS validates email addresses at the DNS level — checking MX records, mail server health, domain age, and email authentication — to score risk before accounts are created.
The Challenge
Fake and disposable email signups inflict hidden costs: inflated user counts that mislead product metrics, high bounce rates that damage sender reputation, fraud from throwaway accounts, and wasted onboarding resources. Simple regex validation catches format errors but misses disposable domains, domains with no mail servers, and recently registered domains used for fraud.
The Solution
Use EdgeDNS email validation to perform deep DNS-level checks at the point of signup. Verify the domain has valid MX records, check mail server health and reachability, assess domain age and trust score, and validate email authentication setup — all in a single API call or composable pipeline.
Endpoints Used
Combine these EdgeDNS endpoints to build this solution.
/v1/email/validateTry in PlaygroundEmail Validate: Comprehensive email validation with DNS checks and risk scoring
/v1/dns/mxTry in PlaygroundMX Records: Verify mail servers exist and identify the email provider
/v1/dns/mx-healthTry in PlaygroundMX Health: Check mail server connectivity and redundancy
/v1/score/emailTry in PlaygroundEmail Score: Get overall email domain security grade (A-F)
/v1/domain/whoisTry in PlaygroundWHOIS Lookup: Check domain age to flag newly registered throwaway domains
Results You Can Achieve
Disposable-email detection on signup
Block known disposable and recently-registered domains before they enter your CRM.
MX existence and TLS check per address
Hard-bounce risk avoidable when the recipient domain has no MX or no TLS — scored on every validation.
Composite risk score per address (0–100)
Domain age, MX validity, role-account heuristics, and reputation combine into a single risk score for signup-flow gating.
Code Example
Email validation at signup
async function validateSignupEmail(email) {
const domain = email.split('@')[1];
// Primary validation via email validate endpoint
const validation = await fetch(
`https://api.edgedns.dev/v1/email/validate?email=${email}`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
).then(r => r.json());
// If basic validation fails, reject immediately
if (!validation.data.is_valid) {
return { allowed: false, reason: validation.data.reason };
}
// Deep check: domain age and email security
const [whois, emailScore] = await Promise.all([
fetch(`https://api.edgedns.dev/v1/domain/whois?domain=${domain}`),
fetch(`https://api.edgedns.dev/v1/score/email?domain=${domain}`),
].map(p => p.then(r => r.json())));
const riskFactors = [];
if (validation.data.is_disposable) riskFactors.push('Disposable email provider');
if (whois.data.domain_age_days < 30) riskFactors.push('Domain registered < 30 days ago');
if (validation.data.is_free_provider) riskFactors.push('Free email provider');
const gradeRank = { 'A': 1, 'B': 2, 'C': 3, 'D': 4, 'F': 5 };
if (gradeRank[emailScore.data.grade] > gradeRank['C']) {
riskFactors.push('Poor email authentication');
}
return {
allowed: riskFactors.length < 2,
email,
riskFactors,
riskLevel: riskFactors.length === 0 ? 'low' : riskFactors.length < 2 ? 'medium' : 'high'
};
}Learn More
Explore industry standards and best practices related to this use case.
RFC 5321 - Simple Mail Transfer Protocol (SMTP)
IETF specification defining SMTP protocol and mail exchange mechanisms
SendGrid Email Deliverability Guide
Comprehensive guide to email deliverability best practices and validation strategies
Postmark Deliverability Guides
Practical guides for maintaining high deliverability and managing bounces
Ready to build Email Address Validation & Risk Scoring?
Get started with 200 free API requests per month. No credit card required.