<?php //configurações do banco $host = "HOST"; $banco = "BANCO"; $usuario = "USUARIO"; $senha = "SENHA"; $tabela = "news"; $campos = "id,destinatario,status"; //campos da tabela //configurações do e-mail $subject = "teste newsletter em pacotes"; $body = "testando um script de envio de newsletter em pacotes usando php e mysql"; $nome_remetente = "Seu Nome"; $email_remetente = "seu@email.com"; $quant = 10; //número de mensagens enviadas de cada vez $sec = 12; //tempo entre o envio de um pacote e outro (em segundos) ?> <?php $conexao = mysql_connect($host,$usuario,$senha); mysql_select_db($banco); ?> <?php $ok = 0; $inicio = 0; $fim = $inicio + $quant; ?> <?php $sql = "select $campos from $tabela where status = 0 limit $inicio,$fim"; $query = mysql_query($sql,$conexao); $registros = mysql_num_rows($query); ?> <?php if($registros==0){ mysql_query("update $tabela set status = 0"); printf("<font face=’tahoma’>todas as mensagens foram enviadas!</font>"); $ok = 1; } ?> <?php while($result = mysql_fetch_array($query)){ $id = $result[0]; $to = $result[1]; $status = $result[2]; $headers = "From: $nome_remetente <$email_remetente>"; mail($to,$subject,$body,$headers); mysql_query("update $tabela set status = 1 where id = $id"); printf("<font face=’tahoma’>$id ) mensagem para <b>$to</b> <font color=’#ff0000’><b>enviada com sucesso!</b></font></font> "); } ?> <?php mysql_free_result($query); mysql_close($conexao); ?> <?php if(!$ok){ echo("<meta http-equiv=\"refresh\" content=\"" . $sec . "\">"); } ?>

Envio De Mensagens Em Newsletter Com Pausa
Started By Drika Fernandes, 04/07/2006, 15:26
7 replies to this topic
#1
Posted 04/07/2006, 15:26
Galera.. fuçando a internet achei o codigo abaixo.. sugerido pela Locaweb para envio de newsletter...
#2
Posted 04/07/2006, 15:54
Isso seria algo informativo para os outros interessados?
Flws...
Até mais
Flws...

#3
Posted 04/07/2006, 16:03
Sim !
Eu achei este script.. mas nao sei se é o ideal.. Mas creio que dá pra quebrar um galho...
Ja ouvi falar da função sleep( ) .. talvez usando esta função a coisa fique mais profissional...
Se alguem aqui tiver uma solução melho... agradeço a ajuda.
beijokas
drika
Eu achei este script.. mas nao sei se é o ideal.. Mas creio que dá pra quebrar um galho...
Ja ouvi falar da função sleep( ) .. talvez usando esta função a coisa fique mais profissional...
Se alguem aqui tiver uma solução melho... agradeço a ajuda.
beijokas
drika
#4
Posted 04/07/2006, 16:05
+ uma pergunta
depois q eu enviar todos os status de 0(zero) vão para 1(um)
e se eu for enviar outro não vai enviar pois estãop todos como 1 ?
depois q eu enviar todos os status de 0(zero) vão para 1(um)
e se eu for enviar outro não vai enviar pois estãop todos como 1 ?
#5
Posted 04/07/2006, 16:07
Cara... tb to meio por fora..
Mas vamos pensar...
De repente, ao enviar o email, a gente possa executar uma sql para alterar o status daquele email ... voltando ao status inicial...
Beijokas
Drika
Mas vamos pensar...
De repente, ao enviar o email, a gente possa executar uma sql para alterar o status daquele email ... voltando ao status inicial...
Beijokas
Drika
#6
Posted 04/07/2006, 16:26
eu testei aki.
e o resultado não foi bom
cadastrei 10 e-mail e enviei de 5 em 5
para os 5 primeiros ele foi para os outros 5 ele não foi!
e o resultado não foi bom
cadastrei 10 e-mail e enviei de 5 em 5
para os 5 primeiros ele foi para os outros 5 ele não foi!
#7
Posted 04/07/2006, 16:36
Então eu voltei a estaca a zero..rs
Ainda estou buscando a solução... Se eu achar algo, eu posto aqui.
Beijokas
Ainda estou buscando a solução... Se eu achar algo, eu posto aqui.
Beijokas

#8
Posted 04/07/2006, 16:40
ele funciono + não como ele envia dependendo do Status
eu tava fazendo uma gambiarra.
eu ia pegar o vai numero da tabela com
SELECT (MAX(txtStatus)) AS txtStatus FROM tbemail
$pega=mysql_query($pedido)or die (mysql_error());
while($rs_PegaCliente = mysql_fetch_array($pega)) {
$status = $rs_PegaCliente ['txtStatus'];
}
e depois ia colocar assim
$s = status + 1 ;
ae pensei ae essa coisa num vai parar de enviar email
alguem tem outra solução?
eu tava fazendo uma gambiarra.
eu ia pegar o vai numero da tabela com
SELECT (MAX(txtStatus)) AS txtStatus FROM tbemail
$pega=mysql_query($pedido)or die (mysql_error());
while($rs_PegaCliente = mysql_fetch_array($pega)) {
$status = $rs_PegaCliente ['txtStatus'];
}
e depois ia colocar assim
$s = status + 1 ;
ae pensei ae essa coisa num vai parar de enviar email

alguem tem outra solução?
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)