diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-03-25 12:38:32 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-03-25 12:38:32 +0100 |
commit | 531c9564b3ec848f1869f57bccb41c6c529749b5 (patch) | |
tree | d3248e9a48766eba94c6fa0bdbd702800abf579d /lib | |
parent | b92dad992f86caf3d30f5a10856c417c2a0a28bc (diff) | |
parent | 3eb5898f7b8f8b836b15dcb9c9a9213d7edbda96 (diff) | |
download | nextcloud-server-531c9564b3ec848f1869f57bccb41c6c529749b5.tar.gz nextcloud-server-531c9564b3ec848f1869f57bccb41c6c529749b5.zip |
Merge pull request #7861 from owncloud/idn-domains-support-on-emails-master
idn have to be converted before being used
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/mail.php | 19 | ||||
-rw-r--r-- | lib/public/util.php | 2 |
2 files changed, 19 insertions, 2 deletions
diff --git a/lib/private/mail.php b/lib/private/mail.php index 9605290fe57..79f51609631 100644 --- a/lib/private/mail.php +++ b/lib/private/mail.php @@ -73,6 +73,7 @@ class OC_Mail { $mailo->FromName = $fromname;; $mailo->Sender = $fromaddress; try { + $toaddress = self::buildAsciiEmail($toaddress); $mailo->AddAddress($toaddress, $toname); if($ccaddress<>'') $mailo->AddCC($ccaddress, $ccname); @@ -124,7 +125,23 @@ class OC_Mail { * @param string $emailAddress a given email address to be validated * @return bool */ - public static function ValidateAddress($emailAddress) { + public static function validateAddress($emailAddress) { + $emailAddress = self::buildAsciiEmail($emailAddress); return PHPMailer::ValidateAddress($emailAddress); } + + /** + * IDN domains will be properly converted to ascii domains. + * + * @param string $emailAddress + * @return string + */ + public static function buildAsciiEmail($emailAddress) { + + list($name, $domain) = explode('@', $emailAddress, 2); + $domain = idn_to_ascii($domain); + + return "$name@$domain"; + } + } diff --git a/lib/public/util.php b/lib/public/util.php index 5cc7f0f4676..f02213f2446 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -266,7 +266,7 @@ class Util { $host_name = \OC_Config::getValue('mail_domain', $host_name); $defaultEmailAddress = $user_part.'@'.$host_name; - if (\OC_Mail::ValidateAddress($defaultEmailAddress)) { + if (\OC_Mail::validateAddress($defaultEmailAddress)) { return $defaultEmailAddress; } |