Ajuda com script newsletter

Enviada por Eduardo Correia 
Eduardo Correia
Ajuda com script newsletter
09 de March de 2015 às 07:45AM
Boas!
Peço uma nova ajuda pra tentar identificar o porque deste script não está rodando como deve.

Ele envia os emails, mas ai fica só nos 10 primeiros e não atualiza o banco.
A página entra em loop e fica enviando só os 10 primeiros (ou quanto eu parametrizar).

Pode me ajudar por favor?
Valeu:

--------------código--------------------

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Reenvio de Leads Automático</title>
</head>

<body>

<?php
//configurações do banco

$host = "host";
$banco = "banco";
$usuario = "usuario";
$senha = "senha";
$tabela = "tabela";

//campos da tabela
$campos = "id_pessoa, origem_pessoa, nome_pessoa, email01_pessoa, telef01_pessoa, telef02_pessoa, DataCadastro_pessoa, DataUltimoLogin_pessoa, controle_pessoa";

//configurações do e-mail
$ql = "\n";
$subject = "newsletter";
$nome_remetente = "Nome Remetente";
$email_remetente = "email@dominio.com.br";

//definição de variáveis
$quant = 10; //número de mensagens enviadas de cada vez
$sec = 10; //tempo entre o envio de um pacote e outro (em segundos)

$conexao = mysql_connect($host,$usuario,$senha) or die (mysql_error($conexao));
mysql_select_db($banco);

$ok = 0;
$inicio = 0;
$fim = $inicio + $quant;

$sql = "select $campos from $tabela where controle_pessoa = 0 limit $inicio,$fim";
$query = mysql_query($sql,$conexao);
$registros = mysql_num_rows($query);

if($registros==0){
mysql_query("update $tabela set controle_pessoa = 0");
printf("<font face=’tahoma’>todas as mensagens foram enviadas!</font>");
$ok = 1;
}

while($result = mysql_fetch_array($query)) {
$id = $result[0]; //id
$origem = $result[1]; //origem
$to = $result[2]; //nome
$email = $result[3]; //email
$telfixo = $result[4]; //telefone fixo
$telcel = $result[5]; //telefone celular
$dtcad = $result[6]; //data de cadastro
$dtalt = $result[7]; //data alteração
$controle_pessoa = $result[8]; //controle

//monta e-mail
$headers = "MIME-Version: 1.1".$ql;
$headers .= "Content-type: text/html; charset=utf-8".$ql;
$headers .= "Reply-to: " .$email_remetente.$ql;
$headers .= "X-Priority: 1\n";
$headers .= "From: ".$email_remetente.$ql;
$headers .= "Return-path: ".$email_remetente.$ql;

$body = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta name='viewport' content='width=device-width' />
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
<title>Newsletter </title>
<link rel='stylesheet' type='text/css' href='http://$origem/css/newsletter.css' />
</head>
<body>
<!-- HEADER -->
<table class='body-wrap'>
<tr>
<td></td>
<td class='container' bgcolor='#FFFFFF'>
<div class='content'>
<table>
<tr>
<td>
<table width='594' border='1' cellpadding='5' cellspacing='0'>
<tr>
<th scope='row'>Site</th>
<td>$origem</td>
</tr>
<tr>
<th scope='row'>Nome</th>
<td>$to</td>
</tr>
<tr>
<th scope='row'>e-mail</th>
<td>$email</td>
</tr>
<tr>
<th scope='row'>Telefone Fixo</th>
<td>$telfixo</td>
</tr>
<tr>
<th scope='row'>Telefone Celular</th>
<td>$telcel</td>
</tr>
<tr>
<th scope='row'>Data cadastro</th>
<td>$dtcad</td>
</tr>
<tr>
<th scope='row'>Data alteração</th>
<td>$dtalt</td>
</tr>
</table>
<br />
<!-- Callout Panel -->
</td>
</tr>
</table>
</div><!-- /content -->
</td>
<td></td>
</tr>
</table><!-- /BODY -->
</body>
</html>";

mail($to,$subject,$body,$headers, "-r". $email_remetente);
mysql_query("update $tabela set controle_pessoa = 1 where id = $id");
printf("<font face=’tahoma’>$id ) mensagem de <b>$to</b> <font color=’#ff0000’><b>enviada com sucesso!</b></font></font><br><br>");
}
mysql_free_result($query);
mysql_close($conexao);

if(!$ok){
echo("<meta http-equiv=\"refresh\" content=\"" . $sec . "\">");
}
?>
</body>
</html>

-----------final código-----------------
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.