Problema Envio Emailmarketing
Boa Tarde Galera...
Meu sistema funfa certinho, o unico problema que tenho é que se tenho 2.000 registros de emails, ele manda apenas 1.000. Ex; envia 1 e pula 1...
$n = 'pedidos@ibrbirigui.com.br';
$remetente = 'Renovada Shopping - A Loja do Cristão';
$assunto = 'Destaque Semanal';
// NOME DA TABELA
$tabela = "newsletter";
// CAMPOS UTILIZADOS PARA A CONSULTA
$campos = "id, email";
// NUMERO MÁXIMO DE ENVIO
$quant = 1;
// TEMPO ENTRE UM PROCESSO DE ENVIO E OUTRO
$seg = 5;
// CONECTA COM O SERVIDOR MYSQL
mysql_connect($host,$usuario,$senha);
// SELECIONA O BANCO
mysql_select_db($banco);
// RESGATA O VALOR DA GLOBAL INICIO
$inicio = $_GET["inicio"];
// VERIFICA SE FOI ATRIBUIDO VALOR A VARIAVEL "INICIO"
if($inicio == ""){
// ATRIBUI O VALOR 0 CASO NÃO EXISTA VALOR ATRIBUIDO
$inicio = 0;
}else{
// ATRIBUI O VALOR DA GLOBAL INICIO CASO JA EXISTA VALOR ATRIBUIDO
$inicio = $_GET["inicio"];
}
// ATRIBUI O RESULTADO DA SOMA ENTRE INICIO E QUANT
$fim = $inicio + $quant;
// EXECUTA A CONSULTA OU INFORMA UM ERRO CASO OCORRA
$q = "SELECT {$campos} FROM `{$tabela}` WHERE `enviado` = 0 LIMIT {$inicio}, {$quant} ";
$sql = mysql_query( $q )or die( mysql_error() );
// VERIFICA SE AINDA EXISTEM EMAILS A SEREM ENVIADOS
if(mysql_num_rows($sql) == 0)
{
// INFORMO O TÉRMINO DO PROCESSO
echo "<span class='texto_principal'>Fim do processo de envio!";
$consulta= "SELECT * FROM `{$tabela}` ORDER BY id asc ";
$retorno = mysql_query($consulta,$conexao);
while($campos_env = mysql_fetch_assoc($retorno))
{
$id_ant = $campos_env['id'];
$consulta2 = "UPDATE `{$tabela}` SET enviado ='0' WHERE id='$id_ant'";
mysql_select_db($base_dados, $conexao);
$Result1 = mysql_query($consulta2, $conexao) or die(mysql_error());
print "".$campos_env['email']." realocado com sucesso ";
print "<br>";
}
print "</span>";
}
else
{
$q = "SELECT {$campos} FROM `{$tabela}`";
$retorno = mysql_query($q,$conexao);
while($campos_env = mysql_fetch_assoc($retorno))
{
if($campos_env['bloqueado'] <> '1')
{
// CONTINUA EFETUANDO O ENVIO
echo '<meta http-equiv="refresh" content="' . $seg . ',URL=?inicio='. $fim .'">';
}
// CRIA O LAÇO REPETITIVO
while($r = mysql_fetch_assoc($sql)){
// ADICIONAMOS OS PADRÕES DE DESTINATÁRIO
$para = $r['email'];
$id = $r['id'];
$cabecalho = "MIME-Version: MSHTML 6.00.2900.3157\r\n";
$cabecalho = "Content-type: text/html; charset=iso-8859-1\r\n";
$cabecalho .= "Content-Type: text/html; charset=windows-1252\r\n";
$cabecalho .= "From:$remetente<$n>\r\n";
$cabecalho .= "Reply-to:<$n>\r\n";
// ENVIA O EMAIL PARA O DESTINATÁRIO
if(mail($para, $assunto, $msg, $cabecalho)){
// INFORMA SE A MENSAGEM FOI ENVIADA
echo "<span class='style1'>Mensagem enviada para: $para ($id)</span>";
// ALTERO O CODSTATUS PARA 1
@mysql_query("UPDATE newsletter SET enviado = '1' WHERE email = '$para'");
}else{
// INFORMO SE A MENSAGEM NÃO FOI ENVIADA
echo "<span class='style1'>Mensagem não enviada para: $para ($id)</span>";
}
}
}
}
// LIBERA MEMORIA USADA NA CONSULTA
mysql_free_result($sql);
?>
<?php
}
?>Discussão (2)
Carregando comentários...