diff options
author | svncommit <devs@roundcube.net> | 2005-10-14 10:57:02 +0000 |
---|---|---|
committer | svncommit <devs@roundcube.net> | 2005-10-14 10:57:02 +0000 |
commit | d206c1f4d798068623b0451d427f4ed5769ebb4b (patch) | |
tree | 942b135bdbd4c6a885a310c6f00afc27cbd54ed8 /program/include/rcube_smtp.inc | |
parent | 17fc718915a856a5bec7a415031acbba76c8bcfe (diff) |
added smtp auth method setting through config file
Diffstat (limited to 'program/include/rcube_smtp.inc')
-rw-r--r-- | program/include/rcube_smtp.inc | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/program/include/rcube_smtp.inc b/program/include/rcube_smtp.inc index fd45a00cd..bc204638b 100644 --- a/program/include/rcube_smtp.inc +++ b/program/include/rcube_smtp.inc @@ -72,12 +72,23 @@ function smtp_mail($from, $recipients, $headers, $body) $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 = smpty($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"; |