PHPMailer non invia

PHPMailer logo

Erano giorni che provavo senza riuscire a risolvere il problema!
Utilizzo la classe PHPMailer in tutti gli applicativi che sviluppo ma stavolta non funzionava. Dopo aver stressato il provider perchè pensavo fosse un problema loro, dopo aver effettuato centinaia di test sui miei indirizzi, oggi finalmente ho scoperto che si trattava di un semplice bug. Bug abbondantemente risolto da tempo, dal lontano Luglio 2005 quando è stata rilasciata la versione 1.73!

Nell’applicativo creativ.net utilizzo questa classe da anni e non ho mai avuto problemi (avevo però la 1.71). Le email venivano inviate correttamente. Implementata la Newsletter la classe ha smesso di funzionare! Cioè, mi spiego meglio, funzionava per tutto il resto ma non per l’invio della Newsletter a tutta la lista (ad una decina di indirizzi e basta sì!), ecco perchè subito ho pensato al provider. Dovendo inviare migliaia di email pensavo ci fosse qualche blocco lato server. Ho inserito allora un timer, del tipo:

// array_to_send = array di indirizzi a cui inviare
$ii = 1;
$max_send = 6;
$max_sec = 3;
foreach( $array_to_send AS $key=>$val)
{
$mail->AddAddress($val["email"], $val["nominativo"]);
$mail->Send();
$mail->ClearAddresses();
// TIMER
if( $ii >= $max_send )
{
sleep($max_sec);
$ii = 1;
} else {
$ii++;
}
}

Ma niente da fare!
Dopo una serie di test, cambiando anche macchina, mi sono accorto che non funzionava lo stesso. Ho installato tutto in locale su Luke (il mio affidabilissimo server Linux) ma nulla. Qui però sono riuscito ad andare a vedere i log….
Finalmente mi si è accesa la lampadina e sono andato a vedere, avevo la 1.71!

Aggiornato il tutto alla 1.73 la Newsletter è partita senza problemi!!