Jochen Robes über Bildung, Lernen und Trends

Muster e mail adressen

Da Eingaben vom Typ E-Mail sowohl anhand der Standard-E-Mail-Adressüberprüfung als auch anhand des angegebenen Musters überprüft werden, können Sie dies einfach implementieren. Mal sehen, wie: Schließlich ist der beste Weg, die E-Mail-Adresse zu validieren, immer noch, eine E-Mail an die betreffende Adresse zu senden, um die Adresse zu validieren. Wenn die E-Mail-Adresse Teil der Benutzerauthentifizierung ist (Register/Login/etc), können Sie sie perfekt mit dem Benutzeraktivierungssystem kombinieren. D.h. Senden Sie eine E-Mail mit einem Link mit einem eindeutigen Aktivierungsschlüssel an die angegebene E-Mail-Adresse und erlauben Sie die Anmeldung nur, wenn der Benutzer das neu erstellte Konto über den Link in der E-Mail aktiviert hat. Die in RFC 5321 dargestellte Grammatik ist zu nachsichtig, wenn es um Hostnamen und IP-Adressen geht. Ich habe mir die Freiheit genommen, die betreffenden Regeln zu „korrigieren“ und diesen Entwurf und RFC 1034 als Leitlinien zu verwenden. Hier ist der resultierende Regex. Ernsthaft.

Sie sollten eine bereits geschriebene Bibliothek zum Überprüfen von E-Mails verwenden. Der beste Weg ist wahrscheinlich, einfach eine Bestätigungs-E-Mail an diese Adresse zu senden. Bei der Zustellung von E-Mails verwendet ein SMTP-Client, z. B. Mail User Agent (MUA), Mail Transfer Agent (MTA), das Domain Name System (DNS), um einen Ressourceneintrag (RR) für die Domäne des Empfängers (den Teil der E-Mail-Adresse rechts neben dem Wenn ein E-Mail-Austausch-Ressourceneintrag (MX-Eintrag) vorhanden ist, enthält der zurückgegebene MX-Eintrag den Namen des Mailservers des Empfängers, andernfalls verwendet der SMTP-Client einen Adressdatensatz (A oder AAAA). Der MTA stellt als nächstes eine Verbindung zu diesem Server als SMTP-Client her. Der lokale Teil einer E-Mail-Adresse hat keine Bedeutung für andere Zwischen-Mail-Relay-Systeme als den endgültigen Postfachhost. E-Mail-Absender und Zwischenrelaissysteme dürfen nicht davon ausgehen, dass die S-Groß-/Kleinschreibung nicht berücksichtigt wird, da der endgültige Postfachhost sie möglicherweise als solche behandelt. Ein einzelnes Postfach kann E-Mails für mehrere E-Mail-Adressen empfangen, sofern vom Administrator konfiguriert. Umgekehrt kann eine einzelne E-Mail-Adresse der Alias für eine Verteilerliste für viele Postfächer sein. E-Mail-Aliasnamen, elektronische Mailinglisten, Unteradressierung und Catch-All-Adressen, wobei letztere Postfächer sind, die Nachrichten unabhängig vom lokalen Teil empfangen, sind häufige Muster zum Erreichen einer Vielzahl von Übermittlungszielen. Keiner dieser Regexe erzwingt Längenbeschränkungen für die gesamte E-Mail-Adresse oder den lokalen Teil oder die Domänennamen.

RFC 5322 gibt keine Längenbeschränkungen an. Diese ergeben sich aus Einschränkungen in anderen Protokollen wie dem SMTP-Protokoll für das tatsächlich e-Mail-Senden. RFC 1035 gibt zwar an, dass Domänen 63 Zeichen oder weniger enthalten müssen, enthält dies jedoch nicht in seiner Syntaxspezifikation. Der Grund dafür ist, dass eine echte reguläre Sprache keine Längenbegrenzung erzwingen und gleichzeitig aufeinander folgende Bindestriche nicht zulassen kann. Aber moderne Regex-Geschmäcker sind nicht wirklich regelmäßig, so dass wir Längenlimit-Checks mit Lookahead hinzufügen können, wie wir es vorher getan haben: In dieser Antwort nehme ich „E-Mail-Adresse“ als addr-spec, wie in den RFCs definiert (d.h. jdoe@example.org, aber nicht „John Doe“ jdoe@example.org>, noch einige-Group:jdoe@example.org,mrx@exampel.org;). Die Interpretation des lokalen Teils einer E-Mail-Adresse hängt von den Konventionen und Richtlinien ab, die auf dem Mailserver implementiert sind. Die Groß-/Kleinschreibung kann z. B. Postfächer unterscheiden, die sich nur in der Großschreibung von Zeichen des lokalen Teils unterscheiden, obwohl dies nicht sehr häufig ist.

[14] Gmail ignoriert alle Punkte im lokalen Teil einer Adresse von gmail.com zum Ermitteln der Kontoidentität. [15] Die anspruchsvolleren Muster in Perl und PCRE (Regex-Bibliothek verwendet z.B.