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;
