Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-03-24 16:46:31 +0400
committerThomas Müller <thomas.mueller@tmit.eu>2014-03-24 16:46:31 +0400
commitfb7f3008d33cb123f8b6931f6edf8697913b355a (patch)
tree0dc278b23ca5f050a25a89256be4c56c146ae909 /lib/private/mail.php
parentabdc823bb69600c3a4fc23e09f9de5819b57f56e (diff)
idn have to be converted before being used
Diffstat (limited to 'lib/private/mail.php')
-rw-r--r--lib/private/mail.php17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/private/mail.php b/lib/private/mail.php
index 9605290fe57..f691fda979d 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);
@@ -125,6 +126,22 @@ class OC_Mail {
* @return bool
*/
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";
+ }
+
}