alecpl
2009-07-07 72cd3c1a761fad73235cad32f240a114ba2941aa
- Support %h variable in 'smtp_server' option (#1485766)


4 files modified
13 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
config/main.inc.php.dist 1 ●●●● patch | view | raw | blame | history
program/include/rcube_smtp.inc 6 ●●●● patch | view | raw | blame | history
program/lib/imap.inc 5 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
- Support %h variable in 'smtp_server' option (#1485766)
- Show SMTP errors in browser (#1485927)
- Allow WBR tag in HTML message (#1485960)
- Use spl_autoload_register() instead of __autoload (#1485947)
config/main.inc.php.dist
@@ -98,6 +98,7 @@
// use this host for sending mails.
// to use SSL connection, set ssl://smtp.host.com
// if left blank, the PHP mail() function is used
// Use %h variable as replacement for user's IMAP hostname
$rcmail_config['smtp_server'] = '';
// SMTP port (default is 25; 465 for SSL)
program/include/rcube_smtp.inc
@@ -64,10 +64,10 @@
  ));
  $smtp_timeout = null;
  $smtp_host = $CONFIG['smtp_server'];
  $smtp_host = str_replace('%h', $_SESSION['imap_host'], $CONFIG['smtp_server']);
  $smtp_port = is_numeric($CONFIG['smtp_port']) ? $CONFIG['smtp_port'] : 25;
  $smtp_host_url = parse_url($CONFIG['smtp_server']);
  $smtp_host_url = parse_url($smtp_host);
  // overwrite port
  if (isset($smtp_host_url['host']) && isset($smtp_host_url['port']))
    {
program/lib/imap.inc
@@ -260,7 +260,6 @@
        }
        $line = $a[1][0] . '"' . ($escape ? iil_Escape($out) : $out) . '"';
//        console('[...] '. $out);
    }
    return $line;
}
@@ -269,10 +268,12 @@
    $data = '';
    $len  = 0;
    do {
            $data .= fread($fp, $bytes-$len);
        $d = fread($fp, $bytes-$len);
                $data .= $d;
        if ($len == strlen($data)) {
                    break; //nothing was read -> exit to avoid apache lockups
            }
//        console('[...] '. $d);
            $len = strlen($data);
    } while ($len < $bytes);