Php Sendmail发送到多个地址,但在不同的电子邮件中

Php Sendmail发送到多个地址,但在不同的电子邮件中,php,sendmail,Php,Sendmail,我正在尝试向多个地址发送多封单独的电子邮件。下面的代码以一封电子邮件的形式发送,其中包含多个收件人地址。这成为一个问题,因为电子邮件中的每个人都可以看到对方的电子邮件地址 有没有办法单独发送电子邮件 <?php $smtp = 'xxx.com'; $port = 25; $secure = 'tls'; $username = 'test@xxx.com'; $pass = ''; $from = 'test@xxx.com

我正在尝试向多个地址发送多封单独的电子邮件。下面的代码以一封电子邮件的形式发送,其中包含多个收件人地址。这成为一个问题,因为电子邮件中的每个人都可以看到对方的电子邮件地址

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

<?php

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

$username   = 'test@xxx.com';
$pass       = '';
$from       = 'test@xxx.com';
$to         = 'info@xxx.com';
$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();
}

?>

location.href=“”;

以密件抄送方式发送电子邮件

请看下面的示例:


您有一个循环,用于检查所有电子邮件地址,然后将电子邮件地址分配给
$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
    }
}
//PHPmailer对象
$mail=新的PHPMailer(true);
//设立
$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);
//添加地址
如果(isset($email)&&$email){
$mail->AddAddress($email);
}
否则{
//循环查看数据库结果
while($row=mysqli\u fetch\u object($result)){
//你已经有这个了
$mail->AddAddress($row->email);
echo$row->email。“
”; //现在也把它送到这里来 $mail->Send(); //在这里做更多的事情 } }

我没有在我的本地系统上测试过这一点,但这是一种为每个地址单独发送邮件的方法,作为发送一封邮件和使用
bcc

的替代方法。您可以循环所有电子邮件地址,并为循环的每个迭代发送邮件,而不是只为循环的每个迭代添加地址。可以吗请分享如何做到这一点?谢谢。下面是我的答案。汉克斯以前用过这个,但看起来不专业,因为电子邮件看起来像垃圾邮件。