2016-10-03 159 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

相关问题