diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-09-29 12:36:28 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-09-29 12:36:28 +0000 |
| commit | a1ab3314f33bb69b9f40dd700ea769bbeffc8a5d (patch) | |
| tree | b7ab2ad2ce8fd5ea4e237d916adaeb5d105ee3e7 /roundcubemail/program/include/rcmail.php | |
| parent | e72c3403074be1e7664db46f8779b5f640318b3c (diff) | |
- Add Internationalized Domain Name (IDNA) support (#1483894)
git-svn-id: https://svn.roundcube.net/trunk@4009 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcmail.php')
| -rw-r--r-- | roundcubemail/program/include/rcmail.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcmail.php b/roundcubemail/program/include/rcmail.php index 9fe9430bd..9b5a498b6 100644 --- a/roundcubemail/program/include/rcmail.php +++ b/roundcubemail/program/include/rcmail.php @@ -587,7 +587,7 @@ class rcmail if ($a_host['host']) { $host = $a_host['host']; $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? $a_host['scheme'] : null; - if(!empty($a_host['port'])) + if (!empty($a_host['port'])) $imap_port = $a_host['port']; else if ($imap_ssl && $imap_ssl != 'tls' && (!$config['default_port'] || $config['default_port'] == 143)) $imap_port = 993; @@ -618,6 +618,12 @@ class rcmail if (!$this->imap) $this->imap_init(); + // Here we need IDNA ASCII + // Only rcube_contacts class is using domain names in Unicode + $host = idn_to_ascii($host); + if (strpos($username, '@')) + $username = idn_to_ascii($username); + // try IMAP login if (!($imap_login = $this->imap->connect($host, $username, $pass, $imap_port, $imap_ssl))) { // lowercase username if it's an e-mail address (#1484473) |
