Hi,
guter Punkt. Mit diesen Filter-Funktionen habe ich noch keine Erfahrungen. Aber ich fürchte, damit wird man auch einige False Positives bekommen.
Es geht nicht darum, false positives zu vermeiden; das wird eh nichts.
okay, das heißt, du nimmst in Kauf, dass hin und wieder ein Anwender verunsichert wird, weil seine zumindest pragmatisch korrekte Mailadresse angeblich fehlerhaft ist. Dann muss aber die Möglichkeit bestehen, dass der arme Tropf in der zweiten Runde sagt: Leck mich, nimm's einfach.
Es geht wirklich nur darum, nicht jeden Scheiss reinzulassen (z.B.
blub@example.org\nBcc: long@example.org, list@example.org
)
Okay. Steuerzeichen sind AFAIK generell nicht erlaubt, die könnte man gezielt "rausprüfen". In dem Fall dürfte auch die nochmalige Bestätigung im Sinne von "Doch! Ich will das so!" nicht möglich sein.
Das führt aber zwangsläufig dazu, dass man mindestens zweigleisig prüfen muss. Eine Warnstufe für mögliche Fehler, die dann aber in einem zweiten Schritt nochmal explizit bestätigt werden können, und eine Art Immediate Fail für offensichtlichen Quatsch, wie du ihn als Beispiel anführst.
Damit ist unterm Strich weder ein RegEx, noch eine dedizierte Prüffunktion brauchbar, denn die können nur klar "Ja" oder "Nein" liefern, aber kein "Vielleicht".
So long,
Martin