PHP不会显示在电子邮件
问题描述:
电子邮件地址为我的网站的电子邮件通知功能我不希望所有收到邮件的用户看到所有其他成员的电子邮件地址PHP不会显示在电子邮件
如何禁用此/关闭此关闭?
我的代码:
if($query -> execute()) {
if($sendmsg == 1) {
$emailquery = $db->prepare("SELECT email FROM tbl_users WHERE emailupdates = 1");
$emailquery -> execute();
$elist = "";
while($mail = $emailquery->fetch(PDO::FETCH_OBJ)) {
$elist .= $mail->email . ", ";
}
$emails = substr($elist, 0, -2);
$link = "http://xxxxx.nl/kalenderdetail/" . $id;
$to = $emails;
$subject = "Nieuwe wedstrijd toegevoegd aan kalender xxxxx.nl";
$message .= "Beste lid van xxxx.nl,\n\n";
$message .= "Er is zojuist een nieuwe wedstrijd toegevoegd aan de website.\n";
$message .= "Titel van de wedstrijd: " . $titel ."\n";
$message .= "Locatie: " . $locatie . "\n";
$message .= "Bekijk het hele kalenderitem: ". $link . "\n\n";
$message .= "Met sportieve groeten,\n";
$message .= "xxxxxx\n";
$from = "[email protected]";
$headers = "From: $from";
if(mail($to,$subject,$message,$headers)) {
$msg = "Edit en mail succesvol";
header("location: xxxxxxxx?msg=" . $msg);
}
答
你既可以把代码在while循环中发送电子邮件,因此而不是一个电子邮件到多个地址,一个地址发送多封电子邮件,但是这可能会导致垃圾邮件问题。
另外,您可以使用BCC(密件抄送)See here
一个侧面说明不相关的问题,我个人觉得你用一点点凌乱斩波2个字符的方法。您可以通过这种方式获得相同的结果。
$elist = array();
while($mail = $emailquery->fetch(PDO::FETCH_OBJ)) {
$elist[] = $mail->email;
}
$emails = implode(', ', $elist);
的好处是如果你改变了分隔符(,
),你不需要编辑SUBSTR方法藏汉,但就像我说的,这只是我对这个个人的意见。
如何在while循环中发送电子邮件,而不是将一封电子邮件发送到多个地址,您可以在一个地址上发送多封电子邮件。你也可以试试BCC(盲文拷贝),看看它是否适合你。 http://stackoverflow.com/a/9525476/993600 – 2015-02-23 13:25:59
谢谢。 BCC正在工作! – user3428971 2015-02-23 13:38:23
好东西!记住接受这个答案(刚刚发布),所以其他人也可能会觉得这有帮助吗? – 2015-02-23 14:12:50