Newsletter: problema olte le 6 mail
Lo so, di non essere il primo ad avere questo tipo di problema. Ci sono fior di 3d su questo forum che accusano gli stessi problemi. Ma non ho tovato la soluzione, soprattutto perché un 3d contaddice l'altro.
Avviene che io gestisco una newsletter, al momento con una settantina di iscritti. Il codice che si occupa di mandare le mail è il seguente:
Codice PHP:
<?
if($_POST['azione']=='Invia'){
$tempo = 3; #Tempo di attesa tra un invio e l'altro
$da = "From: Liceo di Lugano 1 <lilu1@altervista.org>";
$header = scrivi_header($da);
$row_titolo = mysql_fetch_array(mysql_query("SELECT * FROM intestazione WHERE nome='titolo'", $db));
$oggetto = "[Newsletter Liceo Lugano 1] " . $row_titolo['valore'];
$result = mysql_query ("SELECT * FROM newsletter_registrati", $db);
while ($row = mysql_fetch_array($result)){
$a = $row['email'];
if(mail($a, $oggetto, $integrale, $header)){
echo "Mail inviata a $a!<br>";
}else{
echo "Problema nell'invio a $a!<br>";
}
sleep($tempo);
}
}
Fino a ieri il tempo di attesa era di 1,5 secondi, che mi risultavano sufficienti, visto che in un 3d cui avevo preso parte si consigliava almeno sette decimi di secondo, essendo il limite tre email ogni due secondi. Ma anche così non ha funzionato.
Ora ho tentato un'altra cosa: mi sono registato io una settantina di volte, sempre con lo stesso indirizzo, su una tabella di prova e ho mandato la newsletter solo a quelli iscritti nella nuova tabella (quindi solo io, ma settanta volte). Il risultato è che io ho ricevuto, invece delle attese settanta email, solo 17 e la pagina, invece di dire email mandata a questo, problema con quello, è vuota. Che ci sia un timeout? Quanto tempo devo mettere ta un invio e l'altro? Vorrei evitare di mandare una sola email con un destinatario e settanta copie per conoscenza.