Mysql
 sql >> Database >  >> RDS >> Mysql

PHPMailer invia doppie email

Ci sono due problemi qui:

  • Non stai rimuovendo l'indirizzo dalla posta, quindi quando ne aggiungi un secondo, il primo è ancora lì ed entrambi vedranno l'altro indirizzo.
  • Stai utilizzando un header reindirizza nel tuo ciclo senza terminare lo script. Ciò può causare l'esecuzione del codice dopo il reindirizzamento, ma non vi è alcuna garanzia per quanto e per quanto tempo.

Il primo problema che puoi risolvere cancellando i destinatari alla fine del ciclo:

$mail->ClearAllRecipients();

Per quanto riguarda il secondo problema, non dovresti reindirizzare da nessuna parte all'interno del loop e quando reindirizzi dopo che tutti i messaggi sono stati inviati, dovresti uscire dal tuo script usando exit; in modo che nulla venga eseguito dopo.