Oi galera, abaixo segue um código completo de envio
de mala-direta, feito por mim e utilizado já há 2 anos.
Este script já passou por 3 versões, e já travou
muito servidor, desde Locaweb, à Porta80.
Atualmente estou hospedado na porta80 e estava
belezinha, mas de uns tempos pra cá, sempre trava quando está mais ou menos no
10.000 (tenho 50.000 e-mails para serem enviados semanalmente, com um único
click).
Gostaria de saber se tem alguém que pode analizar e
me dar alguma dica de como melhorar este sistema, evitando assim acabar com os
servidores de hospedagem e conseguir ter mais horas de sono durante a semana ;(
.
Valeu.
Daniel
<!--- <CFIF
ParameterExists(session.logged)> --->
<!--- Cria variável chave para dar inicio ao envio a partir da letra "a" ou numero "1", de acordo com suas tabelas. ---> <cfparam default="a" name="numero"> <!--- Cria variável de total de envio, para ser mostrado durante a
operação. --->
<cfparam default="0" name="totalEnv"> <!--- Abre query Count, é utilizada enquanto a mala estiver
"rodando" --->
<cfquery datasource="#sua_dsn#" username="#quem#" password="#pass#" name="pesq_total" dbtype="odbc"> Select count(*)as QTD from sua_tabela_mail </cfquery> <!--- Abre query principal, o detalhe legal é que podem alterar o número
de 200 mails por vez, pra quantos quiserem... --->
<cfquery datasource="#sua_dsn#" username="#quem#" password="#pass#" name="pesq_email" dbtype="odbc" timeout="300" maxrows="200"> Select email from sua_tabela_mail where email is not null and email > '#numero#' Order by email </cfquery> <cfif pesq_email.recordcount neq 0> <!--- É dado início ao Loop para o CFMAIL ---> <cfloop query="pesq_email"> <cfset espaco=Chr(13) & Chr(10)> <cfmail to="#email#" from="[EMAIL PROTECTED]" subject="Informativo Semanal" type="HTML"> <html> ... </html> </cfmail> <!--- Quando acabar a remessa atual (no caso 200 emails) ele 'salva' o E-mail ou ID que parou. ---> <cfset numero = #email#> <cfset totalEnv = #totalEnv# + 1> </cfloop> <!--- Nesta hora é executado um temporizador que 'breca' o sistema durante 20 segundos, tempo sugerido pela empresa que hospeda meu site :-(. ---> <script> var tempo = 20000 var t t = setTimeout('envia_email()', tempo) </script> </cfif>
<script>
function envia_email(){ document.email.submit( ); } </script> <cfoutput>
<!--- Form que chama novamente a página para continuar a enviar a mala-direta ---> <form
action=""
method="post" name="email">
<!--- Caso este código esteja dentro de um 'administrativo' vcs podem
ter um formulário que envia um "titulo" da mala e o "conteudo" semanal, dai é só
colocar dentro do código HTML, no CFMAIL --->
<input type="Hidden" name="coment" value="#form.coment#"> <input type="Hidden" name="titulo" value="#form.titulo#"> <table align="center">
<tr><Td>Total de E-mail </td><td><b>#pesq_Total.qtd#</b></td></tr> <tr><td>Enviados </td><td>#totalEnv#</td></tr> </table> </form> </cfoutput> <!--- <CFELSE>
<CFLOCATION URL="" ADDTOKEN="Yes"> </CFIF> --->
<!--- Prontinho! Este é o script que utilizo toda semana pra mandar 50.000 emails, e sempre 'acabo' com o servidor de hospedagem, sempre cai, trava, ou eles acabam bloqueando a tag CFMAIL do meu domínio. ---> Vocês tem alguma dica de como posso melhorar este código, que já está na 3 versão, para assim não travar os servidores onde hospedo, poupando assim horas de sono. Valeu Daniel Zsigmond. --^^--------------------------------------------------------------- This email was sent to: [EMAIL PROTECTED] EASY UNSUBSCRIBE click here: http://topica.com/u/?b1dnXn.b7M5gI.YXJxdWl2 Or send an email to: [EMAIL PROTECTED] For Topica's complete suite of email marketing solutions visit: http://www.topica.com/?p=TEXFOOTER --^^--------------------------------------------------------------- |