2015-02-23 102 views
1

電子郵件地址爲我的網站的電子郵件通知功能我不希望所有收到郵件的用戶看到所有其他成員的電子郵件地址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); 
    } 
+1

如何在while循環中發送電子郵件,而不是將一封電子郵件發送到多個地址,您可以在一個地址上發送多封電子郵件。你也可以試試BCC(盲文拷貝),看看它是否適合你。 http://stackoverflow.com/a/9525476/993600 – 2015-02-23 13:25:59

+0

謝謝。 BCC正在工作! – user3428971 2015-02-23 13:38:23

+0

好東西!記住接受這個答案(剛剛發佈),所以其他人也可能會覺得這有幫助嗎? – 2015-02-23 14:12:50

回答

1

你既可以把代碼在while循環中發送電子郵件,因此而不是一個電子郵件到多個地址,一個地址發送多封電子郵件,但是這可能會導致垃圾郵件問題。

另外,您可以使用BCC(密件抄送)See here

一個側面說明不相關的問題,我個人覺得你用一點點凌亂斬波2個字符的方法。您可以通過這種方式獲得相同的結果。

$elist = array(); 
while($mail = $emailquery->fetch(PDO::FETCH_OBJ)) { 
    $elist[] = $mail->email; 
} 


$emails = implode(', ', $elist); 

的好處是如果你改變了分隔符(,),你不需要編輯SUBSTR方法藏漢,但就像我說的,這只是我對這個個人的意見。