我知道有一些类似的问题,但我无法让它发挥作用。
好的,我在一个名为$ emailList的变量中有一个从我的数据库中抓取的电子邮件列表。
如果我将变量放在$to
部分,我可以让我的代码从表单发送电子邮件
我不能让它与bcc一起工作。我甚至在$to
添加了一封电子邮件,但这并没有什么区别。
这是我的代码。
$to = "name@mydomain.com";
$subject .= "".$emailSubject."";
$headers .= 'Bcc: $emailList';
$headers = "From: no-reply@thepartyfinder.co.uk\r\n" . "X-Mailer: php";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= 'THE MESSAGE FROM THE FORM';
if (mail($to, $subject, $message, $headers)) {
$sent = "Your email was sent!";
} else {
$sent = ("Error sending email.");
}
我已尝试过两个代码:
$headers .= 'Bcc: $emailList';
和
$headers .= 'Bcc: '.$emailList.';
并不是因为电子邮件不是分开的。我知道他们是因为如果我将$emailList
放在$to
部分中,就可以了。
我应该添加,忽略$message
位和HTML内容。我没有提供所有这些,所以这就是为什么它从这段代码中丢失了。
答案 0 :(得分:44)
您有$headers .= '...';
后跟$headers = '...';
;第二行是覆盖第一行。
只需将$headers .= "Bcc: $emailList\r\n";
放在Content-type
行之后,就可以了。
在旁注中,通常需要To
;邮件服务器可能会将您的邮件标记为垃圾邮件。
$headers = "From: no-reply@thepartyfinder.co.uk\r\n" .
"X-Mailer: php\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Bcc: $emailList\r\n";
答案 1 :(得分:11)
您正在设置BCC,但随后使用FROM
覆盖变量$to = "name@mydomain.com";
$subject .= "".$emailSubject."";
$headers .= "Bcc: ".$emailList."\r\n";
$headers .= "From: no-reply@thepartyfinder.co.uk\r\n" .
"X-Mailer: php";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= 'THE MESSAGE FROM THE FORM';
if (mail($to, $subject, $message, $headers)) {
$sent = "Your email was sent!";
} else {
$sent = ("Error sending email.");
}