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
Catch fraudulent signups before they enter your pipeline
Block disposable and invalid email domains before account creation
Protect sender reputation
Prevent hard bounces by validating mail server existence at signup
Reduce signup fraud
Flag accounts using recently registered or low-trust domains
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.