我正在尝试编辑此脚本以向自己发送密件抄送副本:
$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");
}
}
我试图添加此$headers .= "Bcc:email@example.com"\n";
但它不会发送电子邮件...如何修改此脚本以使其正常工作?
答案 0 :(得分:2)
按\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");
}
}
答案 1 :(得分:0)
$headers .= "Bcc:email@example.com"\n"
是您正在使用的确切语法吗?
如果是,那么您应该收到错误,因为这不是有效的PHP语法。
尝试更改为$headers .= 'Bcc:email@example.com' . "\r\n";
答案 2 :(得分:0)
看起来标题的顺序很重要!!!
$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";