From 66773789e392305bba4cdf7ed8e6ae3b8380de51 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Thu, 27 Oct 2005 09:45:33 -0400
Subject: [PATCH] 

---
 program/include/rcube_smtp.inc |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/program/include/rcube_smtp.inc b/program/include/rcube_smtp.inc
index 9f19327..e569175 100644
--- a/program/include/rcube_smtp.inc
+++ b/program/include/rcube_smtp.inc
@@ -1,4 +1,4 @@
-<?
+<?php
 
 /*
  +-----------------------------------------------------------------------+
@@ -49,7 +49,7 @@
  * @return bool  Returns TRUE on success, or FALSE on error
  * @access public
  */
-function smtp_mail($from, $recipients, $headers, $body)
+function smtp_mail($from, $recipients, $headers, &$body)
   {
   global $SMTP_CONN, $CONFIG, $SMTP_ERROR;
   $smtp_timeout = null;
@@ -72,12 +72,23 @@
       $SMTP_ERROR .= "Connection failed\n";
       return FALSE;
       }
-
-
+      
     // attempt to authenticate to the SMTP server
     if ($CONFIG['smtp_user'] && $CONFIG['smtp_pass'])
       {
-      if (PEAR::isError($SMTP_CONN->auth($CONFIG['smtp_user'], $CONFIG['smtp_pass'])))
+      if ($CONFIG['smtp_user'] == '%u')
+		$smtp_user = $_SESSION['username'];
+      else
+		$smtp_user = $CONFIG['smtp_user'];
+	
+	  if ($CONFIG['smtp_pass'] == '%p')
+		$smtp_pass = decrypt_passwd($_SESSION['password']);
+      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)))
         {
         smtp_reset();
         $SMTP_ERROR .= "authentication failure\n";

--
Gitblit v1.9.1