E-Mail-Adress-Validator
Überprüft das Format von einer oder mehreren E-Mail-Adressen.
Über dieses Tool
Ein E-Mail-Adress-Validator ist ein unverzichtbares Tool für alle, die überprüfen müssen, dass E-Mail-Adressen die richtigen Formatregeln einhalten. Egal ob Sie ein Anmeldeformular erstellen, eine Kontaktliste bereinigen oder einfach überprüfen, ob eine E-Mail-Adresse korrekt strukturiert ist – dieser Validator verwendet Standard-E-Mail-Formatregeln, um zu bestätigen, dass Adressen syntaktisch gültig sind. Die E-Mail-Validierung hilft, Tippfehler zu vermeiden und stellt sicher, dass Kommunikationsversuche nicht aufgrund fehlerhafter Adressen automatisch von Mail-Servern abgelehnt werden.
Die Nutzung dieses Tools ist unkompliziert: Fügen Sie eine einzelne E-Mail-Adresse oder mehrere Adressen (eine pro Zeile oder durch Kommas getrennt) in das Eingabefeld ein und klicken Sie auf Validieren. Das Tool überprüft jede Adresse anhand von RFC 5322-Standards und gängigen E-Mail-Formatregeln und teilt Ihnen mit, welche Adressen gültig sind und welche Fehler enthalten. Typische Anwendungsfälle umfassen die Überprüfung von Kunden-E-Mail-Listen vor dem Versand von Newslettern, die Validierung von Benutzereingaben in Registrierungsformularen und die Überprüfung von Kontaktdatenbanken auf Formatierungsprobleme vor der Systemintegration.
Dieser Validator ist besonders hilfreich für Datenverwalter, Entwickler, die E-Mail-Validierung in Anwendungen integrieren, und Unternehmen, die E-Mail-Listen führen. Beachten Sie, dass dieses Tool nur das Format einer E-Mail-Adresse überprüft—es überprüft nicht, ob die Adresse tatsächlich existiert oder aktuell aktiv ist. Für umfassendere E-Mail-Validierung müssen Sie dies in Produktionssystemen möglicherweise mit Bestätigungs-E-Mails oder SMTP-Überprüfungen kombinieren.
Häufig gestellte Fragen
Code-Implementierung
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.