Hallo
BTW: Die potenziell "gefährliche" Benutzerangabe von Absendername und -adresse ist doch im Normalfall ein Name und eine Emailadresse. Beides enthält (meines Wissens nach) nie einen Doppelpunkt.
Du irrst. Siehe RFC2822, ich zitiere:
<zitat>
2.2. Header Fields
Header fields are lines composed of a field name, followed by a colon
(":"), followed by a field body, and terminated by CRLF. A field
name MUST be composed of printable US-ASCII characters (i.e.,
characters that have values between 33 and 126, inclusive), except
colon. A field body may be composed of any US-ASCII characters,
except for CR and LF. However, a field body may contain CRLF when
used in header "folding" and "unfolding" as described in section
2.2.3. All field bodies MUST conform to the syntax described in
sections 3 and 4 of this standard.
</zitat>
Während der Doppelpunkt im Headerfeldnamen nicht vorkommen darf, ist der Doppelpunkt im Body erlaubt.
Bitte beachte, dass der local-part einer E-Mail-Adresse ein quoted-string sein kann und daher auch den Doppelpunkt enthalten kann, siehe diesen Archivbeitrag von Cheatah und Validierung von E-Mail-Adressen im Selfforumssieb.
Dieser wiederum ist aber in jeder Header-Angabe erforderlich. Wäre es demnach nicht eine Möglichkeit, neben den Zeilenumbrüchen, auch nach dem Vorhandensein eines solchen zu suchen, und dann die Eingabe nicht zu akzeptieren/verarbeiten?
Nein. Du willst also viele zulässige E-Mail-Adressen und Headerinhalte ausschließen. Das ist keine gute Idee.
Freundliche Grüße
Vinzenz