Der Martin: E-Mail-Validierung: Neuer Ansatz

Beitrag lesen

Hallo,

»» 1. Sie soll so einfach wie möglich gestaltet sein.
... aber nicht einfacher (Einstein)

das klingt tatsächlich nach Einstein. Gefällt mir! :-)

»» 4. Die E-Mail-Adresse soll eindeutig identifizierbar sein, damit nicht mehrfach die gleiche Adresse als Ziel verwendet wird.

Welche der folgenden Adressen sind mit joe@example.com identisch? Welche füllen garantiert die selbe Mailbox?

Da ein- und dieselbe Mailbox auch noch beliebig viele Aliases haben kann, ist hier bestenfalls eine Positivaussage "Adressen sind gleichwertig" denkbar. Die umgekehrte Aussage "Adressen gehören zu verschiedenen Postfächern" ist prinzipiell nicht möglich.

joe@example.com.
Joe@example.com
JOE@example.com
JOE@EXAMPLE.COM
joe@EXAMPLE.COM

Ich finde keine Stelle in FRC 2822, die etwas darüber aussagt, ob der Local Part nun case-sensitive ist; ich kenne nur die Praxis vieler Provider, den Local Part *nicht* case-sensitive zu betrachten. Damit sind joe@example.com und JOE@example.com gleichwertig.
Der Domain Part ist sowieso case-insensitive.

  • Nach dem letzten @ muß mindestens ein Punkt vorkommen, der nicht direkt am @ hängen darf.

Warum? Ist joe@localhost etwa keine gültige Mailadresse? - Zugegeben, keine die man in freier Wildbahn erwarten würde.

»» - zu 4.) Die Zeichen "<" und ">" müssen ausgeschlossen werden, sonst sind Mehrfachnennungen der Form "Eva Mustermann 123@example.com" und "Adam Mustermann 123@example.com" möglich.

Obacht: Bei der Notation "Klartextname <mailadresse>" muss man natürlich den ganzen Kram außerhalb der <> von technischen Plausibilitätsprüfungen ausnehmen, aber trotzdem auf Unerlaubtes (Zeilenumbrüche->Header Injection) testen.
Wenn man < und > allerdings ganz ausschließt ...

So long,
 Martin

--
Wer im Steinhaus sitzt, soll nicht mit Gläsern werfen.