向循环中的单个用户发送电子邮件

Send email to single user in loop

我正在尝试使用 php yii 发送群发邮件。我正在使用 yii 扩展 Smtpmail。问题是当我选择多个收件人时。它正在向所有人发送电子邮件。我的意思是它正在添加 "To"。但如果我使用简单的邮件功能,它工作正常。电子邮件正在走向个人。这是我的代码

$sent=$this->sendbulkemail($inv->to_email,UserModule::t("invitation from {site_name}",array('{site_name}'=>Yii::app()->name)),UserModule::t($template,array('{msg}'=>$msg,'{link}'=>$link)));

我的电子邮件功能是

public function sendbulkemail($email,$subject,$message)
    {
        $adminEmail = Yii::app()->params['adminEmail'];
        $message = wordwrap($message, 70);
        $message = str_replace("\n.", "\n..", $message);
       // $mail2 = new PHPMailer(); // create a new object

        $mail=Yii::app()->Smtpmail;
        $mail->SetFrom($adminEmail, 'Goal Surf');
        $mail->Subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
        $mail->MsgHTML($message);
        $mail->AddAddress($email, "");
        $mail->SMTPSecure = 'tls';

        $mail->Send();
        unset($mail);
    } 

但是如果我使用简单的 mail() 它工作正常。

$sent=mail($inv->to_email,UserModule::t("invitation from {site_name}",array('{site_name}'=>Yii::app()->name)),UserModule::t($template,array('{msg}'=>$msg,'{link}'=>$link)),$headers);

谁能告诉我该怎么做。

更新

我已经解决了这个问题。我只需要在电子邮件成功后使用 $mail->ClearAddresses(); 清除地址。

public function sendbulkemail($email,$subject,$message)
    {
        $adminEmail = Yii::app()->params['adminEmail'];
        $message = wordwrap($message, 70);
        $message = str_replace("\n.", "\n..", $message);
       // $mail2 = new PHPMailer(); // create a new object

        $mail=Yii::app()->Smtpmail;
        $mail->SetFrom($adminEmail, '');
        $mail->Subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
        $mail->MsgHTML($message);
        $mail->AddAddress($email, "");
        $mail->SMTPSecure = 'tls';
        $mail->Send();
        $mail->ClearAddresses();
    }