filter_var( $address, FILTER_VALIDATE_EMAIL );
ist damit „offiziell unbrauchbar“,
Ist es womöglich doch nicht, wenn man den Userpart und den Domainpart vorher passend behandelt, also den „downgrade“ durchführt.
list( $user, $domain ) = mb_split( '@', $address );
$user = mb_encode_mimeheader( $user );
$domain = idn_to_ascii( $domain );
$address = $user . '@' . $domain;
$address = filter_var( $address, FILTER_VALIDATE_EMAIL );
ergibt für den russischen Honigbär nebst Seelenbeglückungsinstrument 'медведь@с-балалайкой.рф'
=?UTF-8?B?0LzQtdC00LLQtdC00Yw=?=@xn----8sbaac5cahfb0b0a.xn--p1ai
Ganz genau übrigens:
=?UTF-8?B?0LzQtdC00LLQtdC00Yw=?= <=?UTF-8?B?0LzQtdC00LLQtdC00Yw=?=@xn----8sbaac5cahfb0b0a.xn--p1ai>
für
медведь <медведь@с-балалайкой.рф>
Das =?UTF-8?B?0LzQtdC00LLQtdC00Yw=?=@xn----8sbaac5cahfb0b0a.xn--p1ai
geht durch schon mal durch den Filter. Fragt sich
- ob das „richtig“ und
- „sicher“ ist und außerdem
- funktioniert...