alecpl
2009-05-31 a17fe620d400804067188ffa245be7fb894e2075
program/include/rcube_smtp.inc
@@ -103,7 +103,7 @@
        $smtp_user = $CONFIG['smtp_user'];
      if (strstr($CONFIG['smtp_pass'], '%p'))
        $smtp_pass = str_replace('%p', $RCMAIL->decrypt_passwd($_SESSION['password']), $CONFIG['smtp_pass']);
        $smtp_pass = str_replace('%p', $RCMAIL->decrypt($_SESSION['password']), $CONFIG['smtp_pass']);
      else
        $smtp_pass = $CONFIG['smtp_pass'];
@@ -327,7 +327,7 @@
    $recipients = implode(', ', $recipients);
    
  $addresses = array();
  $recipients = smtp_explode_quoted_str(",", $recipients);
  $recipients = rcube_explode_quoted_string(',', $recipients);
  
  reset($recipients);
  while (list($k, $recipient) = each($recipients))
@@ -337,7 +337,7 @@
    {
      if ((strpos($word, "@") > 0) && (strpos($word, "\"")===false))
        {
        $word = ereg_replace('^<|>$', '', trim($word));
        $word = preg_replace('/^<|>$/', '', trim($word));
        if (in_array($word, $addresses)===false)
          array_push($addresses, $word);
        }
@@ -345,25 +345,5 @@
    }
  return $addresses;
  }
/**
 * @access private
 */
function smtp_explode_quoted_str($delimiter, $string)
  {
  $quotes=explode("\"", $string);
  while ( list($key, $val) = each($quotes))
    if (($key % 2) == 1)
      $quotes[$key] = str_replace($delimiter, "_!@!_", $quotes[$key]);
    $string=implode("\"", $quotes);
    $result=explode($delimiter, $string);
    while (list($key, $val) = each($result))
      $result[$key] = str_replace("_!@!_", $delimiter, $result[$key]);
  return $result;
  }
?>