diff options
author | msquare <msquare@notrademark.de> | 2019-11-03 11:43:13 +0100 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2019-11-03 11:43:13 +0100 |
commit | dc3de33a4b03cbbb17acb565ba6826ac42f2d189 (patch) | |
tree | 3298ae32182568685ecb78c8800d94548afcaebc /includes/sys_page.php | |
parent | a514ba3adc76cb37ab6211640967aa164d56a9c5 (diff) |
fix #287: handle IDN email addresses
Diffstat (limited to 'includes/sys_page.php')
-rw-r--r-- | includes/sys_page.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/includes/sys_page.php b/includes/sys_page.php index e94a92cc..c7b3ec74 100644 --- a/includes/sys_page.php +++ b/includes/sys_page.php @@ -220,12 +220,18 @@ function strip_item($item) } /** - * Überprüft eine E-Mail-Adresse. + * Validates an email address with support for IDN domain names. * * @param string $email * @return bool */ function check_email($email) { + // Convert the domain part from idn to ascii + if(substr_count($email, '@') == 1) { + list($name, $domain) = explode('@', $email); + $domain = idn_to_ascii($domain, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46); + $email = $name . '@' . $domain; + } return (bool)filter_var($email, FILTER_VALIDATE_EMAIL); } |