2011-10-10 97 views
0

我正在使用此腳本向用戶朋友發送通知。問題是所有recepieints看看誰還有這個電子郵件。我如何調整代碼,使電子郵件仍然發送給所有人,但他們看不到還有誰收到了它?如何防止receipeints看到哪些其他電子郵件地址收到了電子郵件?

代碼:

$sql = "SELECT STRAIGHT_JOIN DISTINCT email from 
    friend_email_ids WHERE my_id='$id'"; 
    $result = mysql_query($sql); 

    $query = mysql_query($sql) or die ("Error: ".mysql_error()); 

    if ($result == "") 
    { 
    echo ""; 
    } 
    echo ""; 


    $rows = mysql_num_rows($result); 
    $emails = array(); 

    if($rows == 0) 
    { 
    print(""); 

    } 
    elseif($rows > 0) 
    { 
    while($row = mysql_fetch_array($query)) 
     array_push($emails, $row['email']); 

    { 

    $email = $row['email']; 


    print(""); 
    } 

    } 

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$headers .= "From: $usermail\r\n"; 
$subject = "$full_name added"; 
$message = "<html><body>"; 
$message .= "Hello, <br><br>$full_name posted someth<br><br>"; 
$message .= "<a href=www.domain.com/signup.php?t=&sign=>Click here.</a><br><br>"; 
$message .= "</body></html>"; 
mail(implode(",", $emails), "Subject: $subject", 
$message, "$headers"); 
echo ""; 

回答

1

使用additional_headers字段添加BCC *地址。見the manual

從手冊頁:

// Additional headers 
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n"; 
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 
$headers .= 'Bcc: [email protected]' . "\r\n"; 

// Mail it 
mail($to, $subject, $message, $headers); 

的 「birthdaycheck」 電子郵件是隱藏的。

*(密件抄送)

在你的腳本它會成爲這樣的:

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$headers .= "From: $usermail\r\n"; 

////////////pay attention here 
$headers .= "BCC: ".implode(",", $emails)."\r\n"; 
$to = "[email protected]"; //the mail in the "TO", visible to all. there has to be 1. 
//////////////////////// 

$subject = "$full_name added"; 
$message = "<html><body>"; 
$message .= "Hello, <br><br>$full_name posted someth<br><br>"; 
$message .= "<a href=www.domain.com/signup.php?t=&sign=>Click here.</a><br><br>"; 
$message .= "</body></html>"; 

mail($to, "Subject: $subject", 
$message, "$headers"); 
echo ""; 
+0

我該如何使它適合我的腳本。我無法得到它的工作ifi我使用密件抄送:在$電子郵件前面.. – AAA

+1

修復你自己的代碼示例 – Nanne

+0

謝謝!它部分工作。第一個收件人看不到還有誰收到了。但第二個收件人能夠看到還有誰發送了該電子郵件。 – AAA

1

將消息發送實際的循環。這樣你就可以將電子郵件單獨發送給每個收件人,而不是一次發送。

相關問題