Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu estou com um problema, eu tenho aproximadamente 23 mil pessoas cadastradas na minha newsletter (todas elas vindas de um cadastro não-automático). Preparei esse script aí utilizando a Classe PHPMailer. Só que, obviamente, o Apache estoura o tempo em mais de 60 segundos, como eu faria para resolver esse meu problema já que, mesmo que eu aumente o tempo para um número absurdo, ainda poderá estourar?
Abaixo segue o meu código. Obrigado
PHP
<? require_once('./db/conecta.php');
require("./class/class.phpmailer.php");
$queryEmail = [mysql_query](http://br.php.net/mysql_query)('SELECT nome, email FROM cliente WHERE Ucase(enviado) = "N"', $con);
while($reg = [mysql_fetch_array](http://br.php.net/mysql_fetch_array)($queryEmail)) {
$mail = new PHPMailer();
$mail->IsSMTP(); //MANDAR VIA SMTP
$mail->Host = "smtp.example.com"; //SERVIDOR DE SMTP, USE smtp.SeuDominio.com
$mail->SMTPAuth = true; //SMTP AUTENTICADO
$mail->Username = "example@example.com"; //NOME DE USUÁRIO PARA SMTP AUTENTICADO
$mail->Password = "password"; //SENHA DO USUÁRIO PARA SMTP AUTENTICADO
$mail->From = "example@example.com"; //E-MAIL DO REMETENTE
$mail->FromName = "Example"; //NOME DO REMETENTE
$mail->AddAddress($reg['email'],$reg['nome']); //E-MAIL DO DESINATÁRIO, NOME DO DESINATÁRIO
$mail->WordWrap = 50; // ATIVAR QUEBRA DE LINHA
$mail->IsHTML(true); //ATIVA MENSAGEM NO FORMATO HTML
$mail->Subject = "Teste"; //ASSUNTO DA MENSAGEM
$mail->Body = "Coloca a sua mensagem aqui"; //MENSAGEM NO FORMATO HTML
if(!$mail->Send()) {
[echo](http://br.php.net/echo) "[!] Mensagem não enviada para ".$reg['nome'].'('.$reg['email'].')'.'<br>';
[echo](http://br.php.net/echo) "Erro: " . $mail->ErrorInfo.'<br>';
[exit](http://br.php.net/exit);
}
[echo](http://br.php.net/echo) "Mensagem enviada com sucesso para ".$reg['nome'].'('.$reg['email'].')'.'<br>';
$queryUpdate = [mysql_query](http://br.php.net/mysql_query)("UPDATE cliente SET enviado = 'S' WHERE email = '".$reg['email']."'",$con);
}
[mysql_free_result](http://br.php.net/mysql_free_result)($queryEmail);
require_once('./db/desconecta.php');
?>Carregando comentários...