]> git.donarmstrong.com Git - roundcube.git/blobdiff - program/include/rcube_smtp.php
Imported Upstream version 0.5.2+dfsg
[roundcube.git] / program / include / rcube_smtp.php
index e795bc48f33197d779bb92520e29eb13fb31d07c..817eef8aa7c2d322ae70d4692ab66bd78a3afa0e 100644 (file)
@@ -15,7 +15,7 @@
  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
  +-----------------------------------------------------------------------+
 
- $Id: rcube_smtp.php 4509 2011-02-09 10:51:50Z thomasb $
+ $Id: rcube_smtp.php 4666 2011-04-17 09:34:02Z alec $
 
 */
 
@@ -105,7 +105,7 @@ class rcube_smtp
 
     $this->conn = new Net_SMTP($smtp_host, $smtp_port, $helo_host);
 
-    if($RCMAIL->config->get('smtp_debug'))
+    if ($RCMAIL->config->get('smtp_debug'))
       $this->conn->setDebug(true, array($this, 'debug_handler'));
 
     // try to connect to server and exit on failure
@@ -118,6 +118,13 @@ class rcube_smtp
       return false;
     }
 
+    // workaround for timeout bug in Net_SMTP 1.5.[0-1] (#1487843)
+    if (method_exists($this->conn, 'setTimeout')
+      && ($timeout = ini_get('default_socket_timeout'))
+    ) {
+      $this->conn->setTimeout($timeout);
+    }
+
     $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'];