2016-10-03 44 views
1

目前,我正在使用PHPMailer`庫開發PHP電子郵件腳本。我使用BCC爲所有電子郵件地址發送羣發郵件。如何使用PHP Mailer獲得當前電子郵件身份證號碼

我希望每個電子郵件都包含郵件正文中當前收件人的電子郵件地址。

下面是我的示例代碼:

<?php 
require 'PHPMailerAutoload.php'; 
$mail = new PHPMailer; 
$mail->isSMTP();          
$mail->Host = 'smtp1.example.com;smtp2.example.com'; 
$mail->SMTPAuth = true;         
$mail->Username = '[email protected]';     
$mail->Password = 'secret';       
$mail->SMTPSecure = 'tls';       
$mail->Port = 587;        
$mail->setFrom('[email protected]', 'Mailer'); 
$mail->addAddress('[email protected]'); 

$arrMail [] = array('[email protected]','[email protected]'); 

for($i=0;$i<count($arrMail);$i++) 
{ 
    $mail->addBCC($arrMail[$i]); 
    $htmlversion = 'Hello '.$arrMail[$i].' !'. 
} 


// $htmlversion = 'Hello <email_id needed here> !'. 

    $mail->Body = $htmlversion; 
    $mail->AltBody = $textVersion; 

     if(!$mail->send()) 
     { 
     echo 'Message could not be sent.'; 
     echo 'Mailer Error: ' . $mail->ErrorInfo; 
     } 
     else 
     { 
     echo 'Mail sent'; 
     } 

問題:如果[email protected]接收電子郵件,其消息主體應該包含他們的電子郵件地址。目前,我正在爲每個收件人獲取郵件正文中的第一個電子郵件地址。

注意:我不想像其他頁面中提到的那樣使用To一個接一個地發送郵件。

也可以通過使用一些會話或數據庫邏輯?我正在使用php 5.5.9

+0

你將不得不使用沒有密碼抄送的循環發送。 – Shahrukh

+0

我做'密送'的原因是爲了隱藏其他郵件。 – Hiranya

+0

獲取數組中的所有電子郵件併爲該數組運行foreach循環。 –

回答

0

您的代碼正在重複使用相同的電子郵件地址,因爲您沒有在循環中創建郵件正文。如果你使用循環,那麼你也不需要密件抄送。

$arrMail [] = array('[email protected]', '[email protected]'); 
$total = count($arrMail); 

for($i = 0; $i < $total; $i++) { 

    $email = $arrMail[$i]; 
    $htmlversion = "Hello $email !"; 

    $mail->Body = $htmlversion; 
    $mail->AltBody = $textVersion; 
    $mail->AddAddress($email); 

    if (!$mail->send()) { 
     echo 'Message could not be sent.'; 
     echo 'Mailer Error: ' . $mail->ErrorInfo; 
    } else { 
     echo 'Mail sent'; 
    } 
} 

我不想將郵件發送一個接一個的使用要像在其他頁提及。

不幸的是,密件抄送本身就是將同一封電子郵件發送給多個收件人。如果您想爲每個人定製每封電子郵件,則必須向他們發送單個電子郵件。

+0

我使用「密件抄送」的原因,以便一個收件人不能看到其他收件人的郵件ID。那麼'Cc'呢? – Hiranya

+0

@Hiranya無論您是否願意,如果您想更改每個收件人的電子郵件正文,則無法使用BCC或CC。 BCC或CC的重點意味着*將相同的電子郵件複製到每個人。 – BadHorsie

相關問題