Jump to content


Photo

Envio De Mensagens Em Newsletter Com Pausa


  • Faça o login para participar
7 replies to this topic

#1 Drika Fernandes

Drika Fernandes

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Santos/SP
  • Interesses:Desenvolvimento web...PHP/ MySQL

Posted 04/07/2006, 15:26

Galera.. fuçando a internet achei o codigo abaixo.. sugerido pela Locaweb para envio de newsletter...

<?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 . "\">"); 
} 
?> 


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 04/07/2006, 15:54

Isso seria algo informativo para os outros interessados?

Flws...
:huh: Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Drika Fernandes

Drika Fernandes

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Santos/SP
  • Interesses:Desenvolvimento web...PHP/ MySQL

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

#4 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

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 ?
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#5 Drika Fernandes

Drika Fernandes

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Santos/SP
  • Interesses:Desenvolvimento web...PHP/ MySQL

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

#6 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

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!
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image

#7 Drika Fernandes

Drika Fernandes

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Santos/SP
  • Interesses:Desenvolvimento web...PHP/ MySQL

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

:(

#8 _vina

_vina

    Sem Avatar De Copa por 4 anos

  • Banidos
  • PipPipPipPipPip
  • 488 posts
  • Sexo:Não informado
  • Interesses:Música<br />PHP<br />Web

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 :lol:

alguem tem outra solução?
██████████████ 99% [Carregando]

$url = "http://www.viniciuscosta.tk";

Posted Image




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq