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