Validateur d'Adresse E-mail
Valide le format d'une ou plusieurs adresses e-mail.
À propos de cet outil
Un validateur d'adresse e-mail est un outil essentiel pour quiconque doit vérifier que les adresses e-mail respectent les règles de format appropriées. Que vous créiez un formulaire d'inscription, nettoyiez une liste de contacts ou vérifiiez simplement qu'une adresse e-mail est correctement structurée, ce validateur utilise les règles standards de format de courrier pour confirmer que les adresses sont syntaxiquement valides. La validation des e-mails aide à prévenir les erreurs de saisie et garantit que les tentatives de communication ne seront pas rejetées automatiquement par les serveurs de messagerie en raison d'adresses malformées.
L'utilisation de cet outil est simple : collez une adresse e-mail unique ou plusieurs adresses (une par ligne ou séparées par des virgules) dans le champ de saisie et cliquez sur valider. L'outil vérifie chaque adresse par rapport aux normes RFC 5322 et aux règles courantes de format de courrier, signalant quelles adresses sont valides et lesquelles contiennent des erreurs. Les cas d'utilisation typiques incluent la vérification des listes d'e-mails des clients avant l'envoi de bulletins d'information, la validation des entrées utilisateur dans les formulaires d'inscription et la vérification des bases de données de contacts pour les problèmes de formatage avant l'intégration du système.
Ce validateur est particulièrement utile pour les administrateurs de données, les développeurs intégrant la vérification d'e-mail dans les applications et les entreprises qui gèrent des listes d'e-mail. Notez que cet outil ne vérifie que le format d'une adresse e-mail—il ne vérifie pas si l'adresse existe réellement ou est actuellement active. Pour une validation d'e-mail complète, vous devrez peut-être combiner ceci avec des e-mails de confirmation ou des vérifications SMTP dans les systèmes de production.
Questions Fréquentes
Implémentation du Code
import re
import dns.resolver # pip install dnspython
def validate_email_format(email: str) -> bool:
"""Validate email format using RFC 5321/5322 rules."""
pattern = r'^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$'
if not re.match(pattern, email):
return False
local, domain = email.rsplit('@', 1)
if len(email) > 254 or len(local) > 64:
return False
if '..' in email or email.startswith('.') or email.endswith('.'):
return False
return True
def check_mx_record(domain: str) -> bool:
"""Check if domain has MX records (can receive email)."""
try:
answers = dns.resolver.resolve(domain, 'MX')
return len(answers) > 0
except Exception:
return False
def validate_email(email: str, check_mx: bool = False) -> dict:
result = {
"email": email,
"format_valid": validate_email_format(email),
"mx_valid": None,
}
if result["format_valid"] and check_mx:
domain = email.split('@')[1]
result["mx_valid"] = check_mx_record(domain)
return result
# Usage
emails = ["user@example.com", "invalid@", "test..user@domain.com"]
for email in emails:
print(validate_email(email))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.