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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Boucle dans un envoi de mail avec $mail->AddAddress(

Re: Boucle dans un envoi de mail avec $mail->AddAddress(

par petite fée » 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 !!

Re: Boucle dans un envoi de mail avec $mail->AddAddress(

par or 1 » 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 ?

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

par petite fée » 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....