thomascube
2005-11-18 fbf77b4493f1b77c99751d8a86365c712ae3fb1b
program/include/rcube_smtp.inc
@@ -49,16 +49,30 @@
 * @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;
  $smtp_host = $CONFIG['smtp_server'];
  $smtp_port = is_numeric($CONFIG['smtp_port']) ? $CONFIG['smtp_port'] : 25;
  $smtp_host_url = parse_url($CONFIG['smtp_server']);
  
  // overwrite port
  if ($smtp_host_url['host'] && $smtp_host_url['port'])
    {
    $smtp_host = $smtp_host_url['host'];
    $smtp_port = $smtp_host_url['port'];
    }
  // re-write smtp host
  if ($smtp_host_url['host'] && $smtp_host_url['scheme'])
    $smtp_host = sprintf('%s://%s', $smtp_host_url['scheme'], $smtp_host_url['host']);
  // create Net_SMTP object and connect to server
  if (!is_object($smtp_conn))
    {
    $SMTP_CONN = new Net_SMTP($CONFIG['smtp_server'], $smtp_port, 'localhost');
    $SMTP_CONN = new Net_SMTP($smtp_host, $smtp_port, 'localhost');
    // set debugging
    if ($CONFIG['debug_level'] & 8)
@@ -86,7 +100,7 @@
      else
      $smtp_pass = $CONFIG['smtp_pass'];
     $smtp_auth_type = smpty($CONFIG['smtp_auth_type']) ? NULL : $CONFIG['smtp_auth_type'];
     $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)))
        {