Jump to content


Photo

Envio De Emails Por Lote


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

#1 Rubens Garcia

Rubens Garcia

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 16/08/2011, 10:30

Olá pessoal estou com uma rotina de envio de emails por lote e gostaria de sugestões para melhora-lá

grato Rubens

Olá pessoal estou desenvolvendo uma rotina para envio de emails em lote a cada uma hora o servidor envia 300 emails vindos de um banco de dados eu gostaria de opiniões para melhorar o código !

[code]
for($cont = 0; $cont==300 ; $cont++){

//loop enquanto a variavel linha for igual ao numero de arrays gerados pela função mysql_fetch_array faça
      while ($linha = mysql_fetch_array($query_select)){
	
	     //aramazena resultados da consulta ao banco nas variaveis
	
	     $nome_cli=$linha['nome'];
             $email_cli=$linha['email'];
	  
	     // email de origem 
             $email_origem = "xxxxxxxxxxxxxxxxx";	 
	  
	     //montando o email para envio 
             $assunto = $titulo;
	
	     //montando a mensagem 
             $mensagem = "<html><head><title>".$assunto."</title></head>";				
	     $mensagem .="<body>";
             $mensagem .="<h1><font face=\"verdana\" size=\"12\">".$assunto."</font></h1>";
             $mensagem .=$msg;
	     $mensagem .= sprintf( '<img src="http://localhost/Clube/%s" width="640" height="480" />', $fto ); 
	     $mensagem .="</body></html>";
    	
	     // Define os cabeçalhos do email…
            $headers = "MIME-Version: 1.0\r\n";
            $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	    $headers .= "Content-type: image/jpeg\r\n";
            // headers adicionais
            $headers .= "From: $email_origem <$email_origem>\r\n";	
	
	     mail($email_cli,$assunto,$mensagem,$headers);
      }	
	
	sleep(3600); // pausa o envio por uma hora e volta
	$cont = 0; // zero o contador para começa o for de novo e retornar o envio de onde parou
	
	
  	
}
[/code] 


#2 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 16/08/2011, 17:39

eu sugiro você gurar o emaimll no banco e enviar aos poucos de tempos em tempos ...
se mandar um monte de emails de uma vez os servidores vão marcar seu ip como SPAN...
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#3 Cristiano Galdino

Cristiano Galdino

    Dark Defender

  • Administradores
  • 3738 posts
  • Sexo:Masculino
  • Localidade:Brasília, DF

Posted 17/08/2011, 22:10

Eu faria a aplicação em PHP e usaria o cron para executá-la no intervalo de tempo, em cada execução eu guardaria o último ID enviado e na próxima execução iniciaria do ID subsequente. Entendeu? =)
Cristiano Galdino
- http://cristiano.galdino.net/

“Since 2003”


#4 amixel

amixel

    www.amixel.com

  • Usuários
  • 198 posts
  • Sexo:Masculino
  • Localidade:uruguaiana
  • Interesses:web designe asp, php, html, programas,corel,fireworks

Posted 18/08/2011, 23:53

Aconselho você usar a CLASSE PHPmailer para configurar um servidor SMTP.
o e-mail é mais garantido a ser enviado.
WWW.AMIXEL.COM.BR

Sistemas em PHP, JSP, ASP Soluções em Programação


MSN: alex.rs@hotmail.com

#5 Rubens Garcia

Rubens Garcia

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 22/08/2011, 17:24

Eu faria a aplicação em PHP e usaria o cron para executá-la no intervalo de tempo, em cada execução eu guardaria o último ID enviado e na próxima execução iniciaria do ID subsequente. Entendeu? =)


Cara eu não entendi muito bem o que você quis dizer ...




1 user(s) are reading this topic

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

IPB Skin By Virteq