2017-03-07 54 views
0

我试图发送多个单独的电子邮件到多个地址。下面的代码在1封电子邮件中发送多个TO地址。这成为一个问题,因为电子邮件中的每个人都可以看到彼此的电子邮件地址。sendmail发送到多个地址,但在单独的电子邮件

有没有办法发送单独的电子邮件?

<?php 

$smtp  = 'xxx.com'; 
$port  = 25; 
$secure  = 'tls'; 

$username = '[email protected]'; 
$pass  = ''; 
$from  = '[email protected]'; 
$to   = '[email protected]'; 
$to1  = ''; 
$subject = 'Test Email'; 
$content = $mail_content; 

require_once("include/class.phpmailer.php"); 
$mail=new PHPMailer(true); 
$mail->IsSMTP(); 
try{ 
    $mail->Host   = $smtp; 
    $mail->SMTPAuth  = true; 
    $mail->Port   = $port; 
    $mail->SMTPSecure = $secure; 
    $mail->Username  = $username; 
    $mail->Password  = $pass; 
    $mail->SetFrom($from); 

    if (isset($email) && $email) { 
     $mail->AddAddress($email); 
    } 
    else { 
     while($row = mysqli_fetch_object($result)) { 
      $mail->AddAddress($row->email); 
      echo $row->email."<br>"; 
     } 
    } 

    $mail->Subject  = $subject; 
    $mail->MsgHTML($content); 
    $mail->Send(); 

    if (isset($email) && $email) { 
?> 
     <script>location.href="<?php echo '../index.php' . $_REQUEST['redirect']; ?>";</script> 

<?php 
    } 
} 
catch (phpmailerException $e){ 
    echo $e->errorMessage(); 
} 
catch (Exception $e){ 
    echo $e->getMessage(); 
} 

?> 
+1

您可以遍历所有电子邮件地址,并为循环的每次迭代发送邮件,而不是仅为循环的每次迭代添加地址。 –

+0

你能分享一下如何做到这一点吗?谢谢。 – user3414301

+0

请参阅下面的答案 –

回答

0

在BCC中发送电子邮件。

看看这里的一个例子:

PHP Email sending BCC

+0

感谢您使用此功能,但由于电子邮件看起来像垃圾邮件,因此看起来并不专业。 – user3414301

0

你有一个循环来检查所有的电子邮件地址,然后将电子邮件地址分配给$mail->AddAddress()

所有你需要在这同一回路做的是与$mail->Send();与循环的每个迭代以及发送电子邮件

//PHPmailer object 
$mail=new PHPMailer(true); 

//set up 
$mail->IsSMTP(); 
$mail->Host   = $smtp; 
$mail->SMTPAuth  = true; 
$mail->Port   = $port; 
$mail->SMTPSecure = $secure; 
$mail->Username  = $username; 
$mail->Password  = $pass; 
$mail->SetFrom($from); 
$mail->Subject  = $subject; 
$mail->MsgHTML($content); 

//add address 
if (isset($email) && $email) { 
    $mail->AddAddress($email); 
} 
else { 
    //loop through the DB results 
    while($row = mysqli_fetch_object($result)) { 

     //you already have this 
     $mail->AddAddress($row->email); 
     echo $row->email."<br>"; 

     //now send it here as well 
     $mail->Send(); 

     //Do more stuff here 
    } 
} 

我没有测试此我的本地系统上,但这是发送一条路邮件单独作为发送一封邮件的替代方法,并使用bcc

相关问题