phpMailer - 如何删除收件人

2022-08-30 09:43:25

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

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

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

这样,我就可以运行这四行代码,然后根据需要多次发送邮件。、 和字段很容易更改,因此我遇到的问题出在函数中。SubjectIsHTMLBodyAddAddress

正如您可能猜到的那样,在我发送第一封电子邮件后,更改未来电子邮件的收件人将导致这些电子邮件堆积到当前的收件人列表中。

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

除了我可以使用的其他功能之外,是否还有另一个功能可以只分配地址?AddAddress


答案 1

您可以使用 clearAllRecipients( )

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


答案 2

im 在向收件人发送电子邮件之前始终使用它:

// 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 ); }

im using PHPMailer 5.2


推荐