0

I'm using Phpmailer to send an email to multiple accounts using BCC.

I don't want "To:" field to be seen among the headers, but I think it is mandatory, because if I omit it I got this error:

Email error: You must provide at least one recipient email address

As a workaround I use my sender email under

$mail->addAddress (sendermail@domain.com);

but I'd like to send only BCC recipes.

Is it possible to do so or must I loop through all the emails recipe and send them one at a time?

Thank you in advance.

Yuri Refolo
  • 245
  • 9
  • 17

2 Answers2

5

You can use undisclosed-recipients:;

$mail->AddAddress("undisclosed-recipients:;");
$mail->AddBCC(bcc@email.com); //there may be foreach loop
LuRy
  • 74
  • 5
  • Thank you, hadn't thought 'bout it! Solved. – Yuri Refolo Oct 10 '17 at 07:40
  • This is just wrong. That call to `addAddress` does nothing because `undisclosed-recipients:;` is not a valid address, and if you check you'll see it returns `false`. Calling `addBCC` is the right way to go, but this example is syntactically invalid and won't even compile. – Synchro Oct 10 '17 at 08:05
  • Ok, in fact undisclosed-recipients:; generates error. But I simply can't omit AddAddress because it returns this error: `Email error: You must provide at least one recipient email address` – Yuri Refolo Oct 10 '17 at 08:22
0

PHPMailer deals with this for you automatically. Just don't add any to addresses (i.e. don't call addAddress()), and add some BCC addresses:

$mail->addBCC('user@example.com');
$mail->addBCC('user2@example.net');

PHPMailer will automatically set the to header to the empty undisclosed-recipients:; group.

Synchro
  • 35,538
  • 15
  • 81
  • 104
  • Sorry but if I don't use addAddress() i get this error: Email error: You must provide at least one recipient email address – Yuri Refolo Oct 10 '17 at 07:39
  • Look at [how this check works](https://github.com/PHPMailer/PHPMailer/blob/master/src/PHPMailer.php#L1367). Are you checking whether your calls to `addBCC` are successful? – Synchro Oct 10 '17 at 07:43
  • Yes they are, indeed... but you are right. Don't know what to think. – Yuri Refolo Oct 10 '17 at 08:24
  • You're doing something wrong - I just tested this and it works as described. It would help if you posted all your code in the question. – Synchro Oct 10 '17 at 08:27