diff options
author | alecpl <alec@alec.pl> | 2010-09-29 12:36:28 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-09-29 12:36:28 +0000 |
commit | e99991996dbb9e7b0b0ff6cfa94dc0fb2522eb66 (patch) | |
tree | 8031feaef48d8d30de1253318993f8c0a2223674 /program/include/rcube_smtp.php | |
parent | d7f9eb573b82ca55c521b68f7cf3ad8de55ab8ba (diff) |
- Add Internationalized Domain Name (IDNA) support (#1483894)
Diffstat (limited to 'program/include/rcube_smtp.php')
-rw-r--r-- | program/include/rcube_smtp.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/program/include/rcube_smtp.php b/program/include/rcube_smtp.php index 3c9f66977..b45747661 100644 --- a/program/include/rcube_smtp.php +++ b/program/include/rcube_smtp.php @@ -98,6 +98,9 @@ class rcube_smtp else $helo_host = 'localhost'; + // IDNA Support + $smtp_host = idn_to_ascii($smtp_host); + $this->conn = new Net_SMTP($smtp_host, $smtp_port, $helo_host); if($RCMAIL->config->get('smtp_debug')) @@ -116,10 +119,14 @@ class rcube_smtp $smtp_user = str_replace('%u', $_SESSION['username'], $CONFIG['smtp_user']); $smtp_pass = str_replace('%p', $RCMAIL->decrypt($_SESSION['password']), $CONFIG['smtp_pass']); $smtp_auth_type = empty($CONFIG['smtp_auth_type']) ? NULL : $CONFIG['smtp_auth_type']; - + // attempt to authenticate to the SMTP server if ($smtp_user && $smtp_pass) { + // IDNA Support + if (strpos($smtp_user, '@')) + $smtp_user = idn_to_ascii($smtp_user); + $result = $this->conn->auth($smtp_user, $smtp_pass, $smtp_auth_type, $use_tls); if (PEAR::isError($result)) |