phpMailer – 如何删除收件人

关于这个主题有很多的StackOverflow的问题,但我找不到一个能够帮助我遇到的问题。 我正在写的脚本发送多个邮件给不同的消息内容的收件人。

我可以通过多次重新初始化phpMailer对象来获得这个工作,但是我希望能够做的是一次创build对象,然后重新分配下列字段:

 $mail->AddAddress($email); $mail->Subject = $subject; $mail->IsHTML(false); $mail->Body = $message; 

这样,我可以运行这四行代码,然后一次又一次地发送邮件,根据需要多次。 SubjectIsHTMLBody字段很容易更改,所以我遇到的问题是在AddAddress函数中。

正如您大概猜测的那样,在发送第一封电子邮件之后,更改将来电子邮件的收件人将导致将这些邮件堆叠到当前收件人列表中。

简而言之, 如何删除与我的$mail对象关联的电子邮件地址,以便每次删除旧地址时都可以分配它们?

除了AddAddress之外,还有另外一个函数可以用来分配地址吗?

你可以使用ClearAllRecipients()

$mailer->ClearAllRecipients( ); // clear all

即时通讯使用此之前总是发送电子邮件给收件人:

 // clear addresses of all types $mail->ClearAddresses(); // each AddAddress add to list $mail->ClearCCs(); $mail->ClearBCCs(); 

那么即时通讯只是这样做:(不使用CC或BCC, $ toaddress只是一个收件人数组)

 foreach($toaddress as $key=>$val) { $mail->AddAddress( $val ); } 

即时通讯使用PHPMailer 5.2