Question
Je sais qu'il y a quelques questions similaires à cela, mais je ne peux pas le faire fonctionner.
OK, j'ai une liste d'e-mails saisis dans ma base de données dans une variable appelée $ emaillist. Je peux demander à mon code d'envoyer un e-mail à partir d'un formulaire si je mets la variable dans le $to
Section mais je ne peux pas le faire fonctionner avec BCC. J'ai même ajouté un e-mail au $to
Au cas, c'était ça mais ça ne fait pas de différence.
Voici mon code.
$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.");
}
J'ai essayé les deux codes:
$headers .= 'Bcc: $emailList';
et
$headers .= 'Bcc: '.$emailList.';
Ce n'est pas que les e-mails ne sont pas séparés parce qu'ils le sont. Je sais qu'ils le sont parce que ça marche si je mets $emailList
dans le $to
section.
Je devrais ajouter, ignorer le $message
Bits et les trucs HTML. Je n'ai pas fourni tout cela, c'est pourquoi il manque à ce code.
La solution
Tu as $headers .= '...';
suivie par $headers = '...';
; La deuxième ligne écrase le premier.
Mettez juste le $headers .= "Bcc: $emailList\r\n";
dis après le Content-type
ligne et ça devrait aller bien.
Sur une note latérale, le To
est généralement requis; Les serveurs de courrier peuvent marquer votre message en tant que spam autrement.
$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";
Autres conseils
Vous définissez BCC mais écrasant ensuite la variable avec le
$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.");
}