diff options
| author | sparc <sparc@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2005-10-14 10:57:02 +0000 |
|---|---|---|
| committer | sparc <sparc@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2005-10-14 10:57:02 +0000 |
| commit | 3e0cd55fd315ef0db68cf7c52af896fce7f9dde4 (patch) | |
| tree | 6cb5f6f695711cf5a0888c6c9165a8effb1debd0 | |
| parent | 3f6b7b24d6561c7a9db5e2af340eb501c05c12f8 (diff) | |
added smtp auth method setting through config file
git-svn-id: https://svn.roundcube.net/trunk@34 208e9e7b-5314-0410-a742-e7e81cd9613c
| -rw-r--r-- | roundcubemail/config/main.inc.php.dist | 10 | ||||
| -rw-r--r-- | roundcubemail/program/include/rcube_smtp.inc | 17 |
2 files changed, 22 insertions, 5 deletions
diff --git a/roundcubemail/config/main.inc.php.dist b/roundcubemail/config/main.inc.php.dist index 03e00b27b..351e4b8f5 100644 --- a/roundcubemail/config/main.inc.php.dist +++ b/roundcubemail/config/main.inc.php.dist @@ -42,12 +42,18 @@ $rcmail_config['smtp_server'] = ''; // SMTP port (default is 25) $rcmail_config['smtp_port'] = 25; -// SMTP username (if required) +// SMTP username (if required) if you use %u as the username RoundCube +// will use the current username for login $rcmail_config['smtp_user'] = ''; -// SMTP password (if required) +// SMTP password (if required) if you use %p as the password RoundCube +// will use the current user's password for login $rcmail_config['smtp_pass'] = ''; +// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use +// best server supported one) +$rcmail_config['smtp_auth_type'] = ''; + // Log sent messages $rcmail_config['smtp_log'] = TRUE; diff --git a/roundcubemail/program/include/rcube_smtp.inc b/roundcubemail/program/include/rcube_smtp.inc index fd45a00cd..bc204638b 100644 --- a/roundcubemail/program/include/rcube_smtp.inc +++ b/roundcubemail/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"; |
