Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHPMailer envoie des doubles e-mails

Il y a deux problèmes ici :

  • Vous ne supprimez pas l'adresse du courrier, donc lorsque vous en ajoutez une seconde, la première est toujours là et les deux verront l'autre adresse.
  • Vous utilisez un header rediriger dans votre boucle sans terminer votre script. Cela peut entraîner l'exécution du code après la redirection, mais il n'y a aucune garantie quant à la quantité et à la durée.

Le premier problème que vous pouvez résoudre en effaçant les destinataires à la fin de la boucle :

$mail->ClearAllRecipients();

En ce qui concerne le deuxième problème, vous ne devez rediriger nulle part à l'intérieur de la boucle et lorsque vous redirigez après que tous les messages ont été envoyés, vous devez quitter votre scipt en utilisant exit; afin que rien ne soit exécuté après cela.