Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.611.2.5 diff -u -r1.611.2.5 common.inc --- includes/common.inc 4 May 2007 08:56:30 -0000 1.611.2.5 +++ includes/common.inc 16 May 2007 01:03:07 -0000 @@ -1971,12 +1971,27 @@ foreach ($headers as $name => $value) { $mimeheaders[] = $name .': '. mime_header_encode($value); } - return mail( - $to, - mime_header_encode($subject), - str_replace("\r", '', $body), - join("\n", $mimeheaders) - ); + // Specify the envelope Return-Path address in the additional_parameters + // of mail() to overwrite the server's default Return-Path address + $return_path = mime_header_encode($headers['Return-Path']); + + if ($return_path && !ini_get('safe_mode')) { + return mail( + $to, + mime_header_encode($subject), + str_replace("\r", '', $body), + join("\n", $mimeheaders), + '-f'. $return_path + ); + } + else { + return mail( + $to, + mime_header_encode($subject), + str_replace("\r", '', $body), + join("\n", $mimeheaders) + ); + } } }