PHPMailer发送重复的电子邮件

PHPMailer

<?PHP
    $mail = new PHPMailer;
    $mail->IsSMTP();
    $mail->IsHTML(true);
    $mail->SMTPSecure = "tls";
    $mail->Mailer = "smtp";
    $mail->Host = "smtp.office365.com";
    $mail->Port = 587;
    $mail->SMTPAuth = true; // turn on SMTP authentication
    $mail->Username = "xxx";
    $mail->Password = "xxx";
    $mail->setFrom('xxx', 'Website');

    //Send to Admin
    $Adminemail = 'admin.example@gmail.com';
    $mail->AddAddress($Adminemail, $AdminName);
    $mail->Subject  = "This is an email";
    $mail2 = clone $mail;
    $body = 'Hi Admin. This is an email';
    $mail->Body = $body;

    if(!$mail->Send()) {
    echo 'Message was not sent.';
    echo 'Mailer error: ' . $mail->ErrorInfo;
    } else {
    echo 'Message has been sent.';
    }

    //Send to User
    $UserEmail = 'user.example@gmail.com';
    $mail2->AddAddress($UserEmail, $UserName);
    $body2 = 'Hi User. This is an email';
    $mail2->Body = $body2;

    if(!$mail2->Send()) {
    echo 'Message was not sent.';
    echo 'Mailer error: ' . $mail2->ErrorInfo;
    } else {
    echo 'Message has been sent.';
    }
?>

我有一个问题,当我发送电子邮件时,当他们应该只收到$mail时,管理员将收到$mail和$mail2.虽然User没问题.通过接收$mail2可以正常工作.我试图把$mail-> Clearaddresses();但还是一样.碰巧是什么问题?

解决方法:

添加管理员的地址和内容之前,请先克隆email变量. (如评论中所建议)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...