phpMailer - How do you Remove Recipients

PhpEmailPhpmailer

Php Problem Overview


There are a lot of StackOverflow questions on this topic, but I couldn't find one that was able to help with the issue I'm having. The script that I'm writing sends out multiple emails to various recipients with different message contents.

I can get this working by re-initializing the phpMailer object multiple times, but what I'd like to be able to do is create the object a single time, and then re-assign the following fields:

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

That way I can just run those four lines of code and then send the mail out, again and again, as many times as necessary. The Subject, IsHTML, and Body fields are easily changed, so the problem I'm having is in the AddAddress function.

As you can probably guess, after I send out the first email, changing recipients for future emails will result in those stacking onto the current list of recipients.

To put it simply, how can I remove the email addresses associated with my $mail object so that I can assign them each time while removing the old addresses?

Is there another function besides AddAddress that I can use that will just assign the addresses?

Php Solutions


Solution 1 - Php

You can use clearAllRecipients( )

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

Solution 2 - Php

im using this always before sending email to recipients:

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

then im doing just this: (not using CC or BCC, $toaddress is just an array of recipients)

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

im using PHPMailer 5.2

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJoe MajewskiView Question on Stackoverflow
Solution 1 - PhpGDPView Answer on Stackoverflow
Solution 2 - Phpuser1299518View Answer on Stackoverflow