Index: includes/mail.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/mail.inc,v retrieving revision 1.8.2.7 diff -r1.8.2.7 mail.inc 124a125,134 > // If 'Return-Path' isn't already set in php.ini, we pass it separately as an > // additional parameter instead of in the header. > if (isset($message['headers']['Return-Path']) && !ini_get('safe_mode')) { > $return_path_set = strpos(ini_get('sendmail_path'), ' -f'); > if (!$return_path_set) { > $message['Return-Path'] = $message['headers']['Return-Path']; > unset($message['headers']['Return-Path']); > } > } > 184,193c194,225 < return mail( < $message['to'], < mime_header_encode($message['subject']), < // Note: e-mail uses CRLF for line-endings, but PHP's API requires LF. < // They will appear correctly in the actual e-mail that is sent. < str_replace("\r", '', $message['body']), < // For headers, PHP's API suggests that we use CRLF normally, < // but some MTAs incorrecly replace LF with CRLF. See #234403. < join("\n", $mimeheaders) < ); --- > > // Prepare mail commands. > $mail_subject = mime_header_encode($message['subject']); > // Note: e-mail uses CRLF for line-endings, but PHP's API requires LF. > // They will appear correctly in the actual e-mail that is sent. > $mail_body = str_replace("\r", '', $message['body']); > // For headers, PHP's API suggests that we use CRLF normally, > // but some MTAs incorrecly replace LF with CRLF. See #234403. > $mail_headers = join("\n", $mimeheaders); > > if (isset($message['Return-Path']) && !ini_get('safe_mode')) { > $mail_result = mail( > $message['to'], > $mail_subject, > $mail_body, > $mail_headers, > // Pass the Return-Path via sendmail's -f command. > '-f ' . $message['Return-Path'] > ); > } > else { > // The optional $additional_parameters argument to mail() is not allowed > // if safe_mode is enabled. Passing any value throws a PHP warning and > // makes mail() return FALSE. > $mail_result = mail( > $message['to'], > $mail_subject, > $mail_body, > $mail_headers > ); > } > return $mail_result;