From 6204390af16bcf50f82da61a1aefc2ad0c0adf94 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Mon, 01 May 2006 10:47:27 -0400
Subject: [PATCH] Applied patch for requesting receipts by Salvatore Ansani

---
 program/include/rcube_smtp.inc |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/program/include/rcube_smtp.inc b/program/include/rcube_smtp.inc
index d337632..63cdc1e 100644
--- a/program/include/rcube_smtp.inc
+++ b/program/include/rcube_smtp.inc
@@ -81,32 +81,34 @@
 
 
     // try to connect to server and exit on failure
-    if (PEAR::isError($SMTP_CONN->connect($smtp_timeout)))
+    $result = $SMTP_CONN->connect($smtp_timeout);
+    if (PEAR::isError($result))
       {
       $SMTP_CONN = null;
-      $SMTP_ERROR .= "Connection failed\n";
+      $SMTP_ERROR .= "Connection failed: ".$result->getMessage()."\n";
       return FALSE;
       }
       
     // attempt to authenticate to the SMTP server
     if ($CONFIG['smtp_user'] && $CONFIG['smtp_pass'])
       {
-      if ($CONFIG['smtp_user'] == '%u')
-		$smtp_user = $_SESSION['username'];
+      if (strstr($CONFIG['smtp_user'], '%u'))
+		$smtp_user = str_replace('%u', $_SESSION['username'], $CONFIG['smtp_user']);
       else
 		$smtp_user = $CONFIG['smtp_user'];
-	
-	  if ($CONFIG['smtp_pass'] == '%p')
-		$smtp_pass = decrypt_passwd($_SESSION['password']);
+
+	  if (strstr($CONFIG['smtp_pass'], '%p'))
+		$smtp_pass = str_replace('%p', decrypt_passwd($_SESSION['password']), $CONFIG['smtp_pass']);
       else
 		$smtp_pass = $CONFIG['smtp_pass'];
 
 	  $smtp_auth_type = empty($CONFIG['smtp_auth_type']) ? NULL : $CONFIG['smtp_auth_type'];
-	  	
-      if (PEAR::isError($SMTP_CONN->auth($smtp_user, $smtp_pass, $smtp_auth_type)))
+	  $result = $SMTP_CONN->auth($smtp_user, $smtp_pass, $smtp_auth_type);
+	  
+      if (PEAR::isError($result))
         {
         smtp_reset();
-        $SMTP_ERROR .= "authentication failure\n";
+        $SMTP_ERROR .= "Authentication failure: ".$result->getMessage()."\n";
         return FALSE;
         }
       }

--
Gitblit v1.9.1