Php Mail BCC not working

匿名 (未验证) 提交于 2019-12-03 02:38:01

问题:

I am trying to edit this script to send a Bcc copy to myself:

$to = $your_email; $from = "Server Xt<dml_submitbot@noemail.com>"; $subject = "User Sent Msg :: $msg"; $HTMLmessage = $message;  emailHTML($to, $from, $subject, $HTMLmessage);  function emailHTML($to, $from, $subject, $HTMLmessage){     $semi_rand = md5(time());      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";       $headers = "From: ".$from;          $headers .=    "\nMIME-Version: 1.0\n" .      "Content-Type: multipart/mixed;\n" .      " boundary=\"{$mime_boundary}\"";       $content .=    "This is a multi-part message in MIME format.\n\n" .      "--{$mime_boundary}\n" .      "Content-Type:text/html; charset=\"iso-8859-1\"\n" .      "Content-Transfer-Encoding: 7bit\n\n" .      $HTMLmessage . "\n\n";       $ok = @mail($to, $subject, $content, $headers);       if(!$ok) {        die("Error sending email");      }   } 

i have tried to add this $headers .= "Bcc:email@example.com"\n"; but it does not send out the email... How do I go about modofying this script to make it work?

回答1:

Separate headers by \r\n.

function emailHTML($to, $from, $subject, $HTMLmessage) {     $semi_rand = md5(time());      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";       $headers = "From: ".$from . "\r\n";       $headers .= "Bcc: email@example.com\r\n";       $headers .=    "MIME-Version: 1.0\r\n" .      "Content-Type: multipart/mixed;\r\n" .      " boundary=\"{$mime_boundary}\"";       $content .=    "This is a multi-part message in MIME format.\r\n\r\n" .      "--{$mime_boundary}\r\n" .      "Content-Type:text/html; charset=\"iso-8859-1\"\r\n" .      "Content-Transfer-Encoding: 7bit\r\n\r\n" .      $HTMLmessage . "\r\n\r\n";       $ok = @mail($to, $subject, $content, $headers);       if(!$ok) {        die("Error sending email");      }   } 


回答2:

Is $headers .= "Bcc:email@example.com"\n" the exact syntax that you are using?

You should be receiving an error if so as that isn't valid PHP syntax.

Try changing to something like $headers .= 'Bcc:email@example.com' . "\r\n";



回答3:

it looks the order of header is important!!!

$from = "Sender Name<sender@stackoverflow.com>"; $to="receiver@stackoverflow.com"; $headers = "From: $from\r\n"; $headers .= "To: $to\r\n"; $headers .= "Return-Path: <".$to.">\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Bcc:email@gmail.com\r\n"; $headers .= "Content-Type: text/HTML; charset=ISO-8859-1\r\n"; 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!