PHP 电子邮件发送密件抄送

2022-08-30 16:20:54

我知道有一些类似的问题,但我就是无法让它工作。

好的,我有一个从数据库中抓取的电子邮件列表,该变量名为$emailList。如果我将变量放在该部分中,我可以获取我的代码以从表单发送电子邮件,但我无法使其与密件抄送一起使用。我甚至添加了一封电子邮件,以防万一,但它并没有区别。$to$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


我应该补充一点,忽略位和HTML的东西。我没有提供所有这些,所以这就是为什么它在这个代码中丢失的原因。$message


答案 1

您紧随其后的是 ;第二行正在覆盖第一行。$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";

答案 2

您正在设置密件抄送,但随后用 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.");
     }

推荐