function construct_mail($to,$subject,$content,$sender='') {
$from = ADMIN_EMAIL;
if(!empty($sender)) $from = $sender;
$header = "From: $from\r\n";
$header .= "Content-Type: text/html; charset=utf-8\r\n";
$header .= "Date: ".date("r")."\r\n";
$header .= "Reply-To: $from\r\n";
$header .= "Return-Path: $from\r\n";
$header .= "X-Mailer: PHP\r\n";
$content = ''.$content.'';
$subject = ' =?UTF-8?B?'. base64_encode($subject) ."?=";
return mail($to,$subject,$content,$header,"-f$from");
}
Also, the -f switch might trigger a E_WARNING if you don't set the trusted users (the user that executes the script - webserver) in the /etc/mail/trusted-users
Sep 17, 2009
PHP: mail() Sender domain must exist - UPDATE
Regarding my last post, it seems that you can't set the Return-Path in the header parameter of the mail() function.
The workaround is in the fifth argument of mail() - the additional parameters.
If you set the "-fsender@domain.com" it should set the Return-Path.
Here's my mail() wrapper function:
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment