svncommit
2005-10-14 d206c1f4d798068623b0451d427f4ed5769ebb4b

added smtp auth method setting through config file


2 files modified
27 ■■■■ changed files
config/main.inc.php.dist 10 ●●●● patch | view | raw | blame | history
program/include/rcube_smtp.inc 17 ●●●● patch | view | raw | blame | history
config/main.inc.php.dist
@@ -42,12 +42,18 @@
// 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;
program/include/rcube_smtp.inc
@@ -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 = 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";