2015-02-23 2 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 (Blind carbon copy) попробовать, посмотрите, работает ли это для вас. http://stackoverflow.com/a/9525476/993600 –

+0

Спасибо. BCC работает! – user3428971

+0

Хороший материал! Разум принимал это как ответ (только что отправил), чтобы другие могли также найти это полезным? –

ответ

1

Вы можете либо поместить код для отправки сообщения электронной почты в то время цикла, поэтому вместо того, один адрес электронной почты на несколько адресов, вы отправить несколько писем по одному адресу, но это может привести спама.

В качестве альтернативы можно использовать BCC (Blind Carbon Copy) See here

Примечания стороны, не связанные с вопросом, я лично найти метод рубящих 2 символов вы используете немного грязными. Таким образом, вы можете достичь такого же результата.

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


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

Выгода быть, если изменить разделитель (,), вам не нужно редактировать метод SubStr Aswell, но, как я говорю, что это только мое личное мнение по этому поводу.

Смежные вопросы