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

时间:2016-03-07 05:04:19

标签: php email yii smtp

我正在尝试使用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);

任何人请告诉我如何做到这一点。

更新 enter image description here

1 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。我只需要在电子邮件成功后使用ImportError: No module named categorisation清除地址。

$mail->ClearAddresses();