Salve
ho uno script che invia newsletter agli utenti registrati al sito, pero' noto che essendo circa 3000 dopo un po' va in time out e quindi non spedisce le email.

Queste email le invio da locale tramite smtp e non con la funzione mail()

Qualcuno saprebbe dirmi come fare per non fare andare in time out il tutto?

Questo e' quello che utilizzo ora:

Codice PHP:
<?php
set_time_limit
(0);
require(
"class.phpmailer.php");
$messaggio stripslashes($messaggio);

$host "";
$db_nome "";
$db_user "";
$db_pass "";
$nome_tabella "email";
$connessione =  @mysql_connect("$host","$db_user","$db_pass")
or die(
"Impossibile stabilire una connessione locale.");
$db = @mysql_select_db($db_nome$connessione)
or die(
"Impossibile selezionare il database.");
$sql "select * from $nome_tabella order by id asc";
$risultato = @mysql_query($sql,$connessione)
or die(
"Impossibile eseguire l'interrogazione.");
while (
$riga mysql_fetch_assoc($risultato)) {
$id $riga['id'];
$email $riga['email'];

//PORTO I CAMPI DELLE VARIABILI DALLA PAGINA DEL MODULO A QUESTA CHE LI INVIA TRAMITE EMAIL
$oggetto=$_POST['oggetto'];
$messaggio=$_POST['messaggio'];
$allegato=$_POST['allegato'];



$mail = new PHPMailer();

$mail->From     "info@miosito.it"// indirizzo di provenienza
$mail->FromName "Mio Nome";  // nome utente
$mail->Subject   "$oggetto"// Preparo l'oggetto dell'email prendendolo dal campo $oggetto
$mail->Host     "smtp.aruba.it"// server smtp
$mail->Mailer   "smtp"// dice a php mailer di usare smtp invece della funzione mail




//SCRIVO IL MESSAGGIO CHE DEVE COMPARIRE NELLA EMAIL
$messaggio="<html><body>$messaggio</body></html>";




// AGGIUNGO LA VARIABILE MESSAGGIO A CHI POTRA' LEGGERE LE EMAIL IN HTML
$body  "$messaggio";
// AGGIUNGO LA VARIABILE MESSAGGIO PER CHI NON POTRA' LEGGERE LE EMAIL IN HTML
$text_body  "$messaggio";
$mail->Body    $body;
$mail->AltBody $text_body;
$mail->AddAddress("$email");
if(!
$mail->Send())
echo 
"ERRORE NELL INVIO DELLA EMAIL";
// Pulizia per eventuali altri invii successivi
$mail->ClearAddresses();
$mail->ClearAttachments();
}
?>
Vorrei inoltre far si che ad ogni invio mi compaia a video l'indirizzo dell'email a cui e' stato inviata l'email mentre ora mi esce solo alla fine, quando ho inviato il tutto