Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nelly

Apenas Lógica - Paginação Newsletter

Recommended Posts

Olá a todos

 

Eu estou fazendo uma newsletter mas estou com dúvida na páginação dos e-mails.

No caso meu servidor permite apenas 200 e-mails por hora, então eu teria que dividir o envio.

 

A lógica de fazer esta divisão que eu não sei como fazer.

A único detalhe que eu pensei é que em cada registro com o e-mail, terá um campo, servindo como flag, com o valores: "enviado" ou "naoenviado".

 

Como funciona esta lógica?

 

 

Obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Nelly e Beraldo...

Nelly, para fazer isso você terá que usar o timeout do javascript para poder fazer o processamento da página a cada x segundos...

 

eu vou procurar um script que fiz para um cliente... não é dificil!!

 

 

abraços,

léo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Nelly,

tenho um link aqui que ensina a usar o settime... fácil

 

http://unix.wmonline.com.br/js/tutoriais/c...js/javascr4.htm

 

<html>
<head>
<script language="JavaScript">
<!-- Hide
function moveover(txt) {
   window.status = txt;
   setTimeout("erase()",1000);
// repara ak q a sintaxe dele é fácil... o que você quer fazer depois de quanto tempo?! manja??...
}
function erase() {
   window.status="";
}
// -->
</script>
</head>
<body>
<a href="dontclck.htm" onMouseOver="moveover('Desaparecendo!');return true;">
link</a>
</body>
</html>

 

qualquer dúvida posta ae,

abraços,

léo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá leonardonobre, e Beraldo

 

Muito obrigado pela resposta.

Quer dizer então que na prática, a melhor forma é usar um javascript que de tempo em tempo envie os e-mails correto?

 

Beraldo, no caso qual seria a necessidade da função flush() para esta situação?

 

 

obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Citei o flush(), mas a única utilidade seria caso você queira mostrar uma mensagem a cada execução do loop. Se não quiser mostrar, basta usar sleep(), sem flush().

 

Com JavaScript seria pior nesse caso, pois a página seria recarregada. Usando sleep(), você faz tudo num único script em uma única execução. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Beraldo,

mas o timeout do PHP não iria "derrubar" a página ? São poucos os e-mails, mas imagine uma lista com 10 mil e-mails...

 

Qual seria a melhor maneira?

 

abraços,

léo

Compartilhar este post


Link para o post
Compartilhar em outros sites

O timeout padão do PHP é de 30 segundos, mas pode ser aumentado usando a função set_time_limit(). http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

http://www.php.net/set_time_limit

Compartilhar este post


Link para o post
Compartilhar em outros sites

é mas tem servidores que não permitem mudar essa diretiva, e agora ele permitem um certo numero de envios por hora, por isso talvez ele estenha procurando uma solução, eu fiz uma newsletter paginada porem não da maneira como eu gostaria ja que ele da refresh na página de envio passando um "indice" que é a paginação.

Eu uso assim.

session_start();
if(empty($_SESSION['Ultimo_id'])){
	$_SESSION['Ultimo_id'] = 0;
	$_SESSION['Total'] = 0;
	$_SESSION['erro'] = 0;
}

$rs =& $db->query("select usuario,email,id from news_emails Where id > {$_SESSION['Ultimo_id']} and ativo='S' order by ID Limit {$qtdade_email}"); 


depois só verifico 
if($rs->EOF){
	print "E-mail enviados";
}else{

//envio os e-mails

}

print "<br> total de e-mail enviados".$_SESSION['Total'];			
print "<br><a href=\"envia.php\" > clique aqui</a> se não for redirecionado automaticamente";

?>
<head>
<meta http-equiv="refresh" content="<?=$intervalo?>; URL=envia.php">
</head>

Bom é mais ou menos isso, porem não é uma maneira legal pra fazer, da pra fazer de outras maneiras e vou fazer depois.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

Muito obrigado pelas respostas!

 

Igual falaram, mas o que mais complica na paginação é a questão da limitação de envios por hora.

No meu servidor eu posso enviar no máximo 200 e-mails em 1h.

 

 

Eu estava imaginanando eu deixar o administrador gerenciar estas quantidade de envios por hora, tipo:

 

Entrar no sistema e enviar do 1 ao 200, e no sistema informar ele que para continuar a enviar deverá esperar uma hora, e depois continuar do 201 ao 400.

 

O que acham?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.