我想編輯這個腳本在密件副本發送給自己:PHP的mail BCC不工作
$to = $your_email;
$from = "Server Xt<[email protected]>";
$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 protected]"\n";
但它不發送電子郵件......怎麼辦我開始修改這個腳本以使其工作?
最簡單的方法:溝渠它,並使用PHPMailer或Swiftmailer。都可以在單行代碼中添加密件抄送,並在出現問題時提供更好的診斷。同樣,你永遠不要使用'@'抑制操作符。它的編碼相當於把你的手指塞進你的耳朵,並且「lalalalala聽不到你」 –
你應該使用更加結構化的方式來構建你的頭字段,比如'$ headers = array('...','...'); $ headers = implode(「\ r \ n」,$ headers);'。這樣做可以消除在「Content-Type」和「BCC」之間缺少換行符的情況。 – Gumbo
您的多部分郵件也是無效的,因爲它缺少[最終邊界分隔符](http://tools.ietf.org/html/rfc2046#page-20)。 – Gumbo