Ciao,
ho uno script per la newsletter, vedo che mi arriva a caso, ho contattato il supporto e mi hanno detto che non hanno problemi di saturazione, code piene.... ma i messaggi arrivano "a caso".
il codice è questo:
Codice PHP:
$counter=0;//
$epp=50;//numero delle email che mando per ogni invio
$attesa=0;//tempo di attesa tra l'invio della mail in BCC.
$email_list=array();
$email_to=$indirizzoemail;
$body=$_POST['testo'];
$subject=$_POST['oggetto'];
$headers="User-Agent: XXXX by XXXX\r\nContent-Type: text/plain\r\n";
$sql = "SELECT COUNT(*)FROM indirizziemail";
$risultato = @mysql_query($sql,$connessione)or die("Errore 11");
$quanti = @mysql_fetch_row($risultato);//quanti[0] contiene il numero degli iscritti.
$numeroinvii=ceil($quanti[0]/$epp);//mantengo il numero degli invii che farò
$offset=0;//
for ($i=0;$i<$numeroinvii;$i++){
$sql="SELECT * FROM indirizziemail WHERE (1)LIMIT ".$offset.",".$epp."";
//echo $sql;
$risultato = @mysql_query($sql,$connessione)or die("Errore 22");
while ($row= mysql_fetch_array($risultato, MYSQL_ASSOC)){//devo caricare il vettore del BCC
$email_list[] = $row['id']; // aggiungo l'indirizzo alla lista
}
$offset+=$epp;
$tmp_bcc = implode(',', $email_list);// Prepara il BCC
$tmp_headers = $headers;// Prepara gli headers
$tmp_headers .= "Bcc: {$tmp_bcc}\r\n";
$tmp_headers .= "To: {$email_to}\r\n";
$tmp_headers .= "From: Bike And Power Website\r\n";
$tmp_headers .= "Subject: {$subject}\r\n";
$res = @mail($email_to, $subject, $body, $tmp_headers);// Invia le email
echo "Dati dell'email inviata
";
echo $email_to."
";
echo $body."
";
echo $subject."
";
echo $tmp_headers."
";
if (!$res)// Controlla se le email sono state inviate correttamente
$messaggio.="Errore nell'invio della mail.";
$email_list = array();
sleep($attesa);
$messaggio.="Passata N.".($i+1).": Email inviata a: ".$tmp_bcc."
";
}
dove indirizzoemail è: $indirizzoemail="XXX@XXX.com";
Quale potrebbe essere il problema?