Casus knaktus: „Umlaut-Domain“ in einer Maildadresse
- Die Literatur sagt über die „reine Theorie“: „Das geht"
- Die gefundene Literatur sagt aber weiter: "Praktisch behaupten die (viele) Mailclients, die Adresse wäre ungültig..." - was übrigens durch
filter_var( $address, FILTER_VALIDATE_EMAIL );
von PHP sozusagen bestätigt wird.
Ich schreibe gerade nochmal einen eigenen Wrapper für mb_send_mail(), weil mir die bekannten (Swift, PHPMailer) irgendwie zu umständlich erscheinen…
… und frage mich gerade, ob das hier überhaupt notwendig ist:
if ( function_exists( 'idn_to_ascii' ) ) {
list( $user, $domain ) = preg_split( '/@/', $address );
$address = $user . '@' . idn_to_ascii( $domain );
}
$address = filter_var( $address, FILTER_VALIDATE_EMAIL );
$address ist bereits definitiv die „reine“ Mail-Adresse, also foo@bar
aus
Foo Bar <foo@bar>
Bar, Foo <foo@bar>
<foo@bar>
foo@bar
„Die Literatur an der Fundstelle“ behauptet, man solle deshalb selbst den ASCII-Name aus der IDN-Domain bauen und diese dem Mailprogramm übergeben. Das tut das obige - aus 'fastüx.org' wird z.B. 'xn--fastx-nva.org'
Nur: Hat irgendwer schon mal eine Mailadresse mit Nicht-ASCII-Zeichen gesehen? Oder glaubt jemand, dass die zukünftig auftreten?