Ci sono un sacco di domande StackOverflow su questo argomento, ma non sono riuscito a trovarne uno in grado di aiutare con il problema che sto avendo. Lo script che sto scrivendo invia più email a vari destinatari con contenuti di messaggi diversi.phpMailer - Come si rimuovono i destinatari
posso ottenere questo lavoro da ri-inizializzare i phpMailer
oggetto più volte, ma quello che mi piacerebbe essere in grado di fare è creare l'oggetto una sola volta, e poi ri-assegnare i seguenti campi:
$mail->AddAddress($email);
$mail->Subject = $subject;
$mail->IsHTML(false);
$mail->Body = $message;
In questo modo posso solo eseguire queste quattro righe di codice e quindi inviare la posta, ancora e ancora, tutte le volte necessarie. I campi Subject
, IsHTML
e Body
sono facilmente modificabili, quindi il problema riscontrato è nella funzione AddAddress
.
Come probabilmente si può intuire, dopo aver inviato la prima e-mail, la modifica dei destinatari per le e-mail future si tradurrà in quelli che si sovrappongono all'elenco corrente dei destinatari.
Per dirla semplicemente, come è possibile rimuovere gli indirizzi di posta elettronica associati all'oggetto $mail
in modo che sia possibile assegnarli ogni volta rimuovendo i vecchi indirizzi?
C'è un'altra funzione oltre a AddAddress
che posso utilizzare che assegnerà solo gli indirizzi?
Come limitare il resto dell'inizializzazione in una funzione? Quindi è possibile creare facilmente un'istanza quasi avviata e impostare il resto dei campi. – Svish
Questo è in realtà quello che sto facendo. Ho una funzione 'init_mailer' che crea l'oggetto e assegna tutte le opzioni tranne quelle quattro righe che ho postato sopra. Sto cercando di ottimizzarlo nel miglior modo possibile. –