[RESOLU] Boucle dans un envoi de mail avec $mail->AddAddress(

Eléphanteau du PHP | 36 Messages

20 oct. 2022, 20:29

Bonjour à toutes et tous,

j'ai un souci qui me fait devenir chèèèèèèvre depuis des jours...

j'ai fait un code d'envoi, qui sélectionne les membres de ma base et envoie un mail à chacun.
ça fonctionne bien.

j'ai repris ce code d'envoi pour une autre fonctionnalité (c'est pour leur envoyer d'autres infos) qui sélectionne mes membres pareil, et devrait aussi envoyer un mail à chacun. MAIS, pour ce code qui est le même que le précédent, les adresses mails s'accumulent et ça donne :
membre 1 : membre1@mail
membre 2 : membre1@mail, membre2@mail
membre 3 : membre1@mail, membre2@mail, membre3@mail
etc. du coup le premier membre reçoit deux mails dont celui du membre 2 etc.

Un bout de code :
$req =$client->query("SELECT * FROM `employe`")
while ($row_req = $req->fetch_assoc()) {
$totest=$row_req['mail'];

echo "<br />Envoi prévu pour ".$totest;
$mail->AddAddress($totest);
if (!$mail->send()) {
      $ok= $mail->ErrorInfo;
	  $ok.= "Message NON envoyé";
} else {
      $ok= "Message bien envoyé";
	  echo " CONTENU : ";
echo $ok."<br />".$row_req['nom']." ".$row_req['prenom']." - Mail : ".$totest."<br />";
echo "<br />***********************************************************";
}

}
mon echo me renvoie bien une seule adresse mail, mais j'ai l'impression que AddAddress incrémente l'adresse avec la précédente. Ce qui n'était pas le cas dans mon précédent code qui fonctionnait bien.
Est-ce que j'ai mal compris le fonctionnement de AddAddress ?
comment vider AddAddress après l'envoi, ou le forcer à n'envoyer qu'un mail ?

tous mes tests d'affichage echo sont bons, c'est quand je fais l'envoi que ça m*rde (ce qui fait que la première fois j'ai envoyé 8000 mails par mégarde, soit 300 à certains membres.... qui n'étaient pas très contents... Z'imaginez le coup de sueur ;o))

Merci de votre aide....

Mammouth du PHP | 2703 Messages

20 oct. 2022, 20:37

pour ne pas que cela fasse cela, il faut recréer $mail dans la boucle while.
que est le code qui ne fait pas cela ?

Eléphanteau du PHP | 36 Messages

24 oct. 2022, 10:07

pour ne pas que cela fasse cela, il faut recréer $mail dans la boucle while.
que est le code qui ne fait pas cela ?
Merci or 1 !

c'était bien ça le problème :D

Merci de ton aide précieuse !!