Raketenscripter: Und es geht doch...

Beitrag lesen

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

  1. ob das „richtig“ und
  2. „sicher“ ist und außerdem
  3. funktioniert...