UtilityActive
Email Validation
Validate an email address: RFC 5322 format check, domain MX record lookup, disposable provider detection, and role address detection (e.g. info@, admin@). Returns is_valid boolean and granular checks object. Use before storing or sending to email addresses to prevent bounces.
Input Schema
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "The email address to validate (e.g. 'user@example.com')"
}
}
}
Output Schema
{
"type": "object",
"required": [
"email",
"is_valid",
"checks"
],
"properties": {
"email": {
"type": "string",
"description": "The validated email address (normalized to lowercase)"
},
"is_valid": {
"type": "boolean",
"description": "true if the email passes all checks (format + deliverable domain)"
},
"local_part": {
"type": "string",
"description": "The part before the @ symbol"
},
"domain": {
"type": "string",
"description": "The domain part of the email address"
},
"checks": {
"type": "object",
"description": "Individual check results",
"properties": {
"format_valid": {
"type": "boolean",
"description": "Email format passes RFC 5322 validation"
},
"domain_has_mx": {
"type": "boolean",
"description": "Domain has valid MX records (can receive email)"
},
"is_disposable": {
"type": "boolean",
"description": "Domain belongs to a known disposable email service (e.g. mailinator.com, tempmail.com)"
},
"is_role_address": {
"type": "boolean",
"description": "Local part is a role address (e.g. admin@, info@, noreply@, support@)"
}
}
},
"mx_records": {
"type": "array",
"items": {
"type": "string"
},
"description": "MX record hostnames found for the domain"
}
},
"example": {
"email": "user@example.com",
"is_valid": true,
"local_part": "user",
"domain": "example.com",
"checks": {
"format_valid": true,
"domain_has_mx": true,
"is_disposable": false,
"is_role_address": false
},
"mx_records": [
"mail.example.com"
]
}
}