Ir para conteúdo

POWERED BY:

Arquivado

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

Didiron

Gostaria de que analisassem esse script de newsletter

Recommended Posts

Boa Tarde.

 

Pela primeira vez tive a necessidade de utilizar um script de newsletter em ASP e confesso que em primeira instância peguei um script pronto na internet, conforme este abaixo:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<%

Set conexao = Server.CreateObject("ADODB.Connection")
conexao.ConnectionString = "driver=MySQL ODBC 5.1 driver;server=;uid=;pwd=;db="
conexao.open

titulo = request("titulo")
noticia = request("noticia")

SQL = "INSERT INTO noticias(titulo,noticia) VALUES ('"&titulo&"','"&noticia&"')"
Set enviar = conexao.Execute(SQL)

'******************************************************************************************************************

' ** Server.ScriptTimeout = Tempo de máximo de duração do script

' ** Session.Timeout = Tempo de duração da sessão.

'******************************************************************************************************************
Response.Buffer = true
Server.ScriptTimeout = 3000
Session.Timeout = 50


'******************************************************************************************************************

' ** Declaração de variáveis

'******************************************************************************************************************
Dim oEmail, oRsEmail, var_contador, tempo, var_contador_geral
tempo = 0
var_contador = 1
var_contador_gera = 0



'******************************************************************************************************************

' ** Criando Recordset de e-mails. As 2 primeiras linhas abaixo você troca pelo código que gera seu
' ** Recordset

'******************************************************************************************************************
Set oRsEmail = conexao.Execute("SELECT * FROM emails")



if not oRsEmail.EOF then
do while not oRsEmail.EOF

'******************************************************************************************************************

' ** Defino quanto e-mails serão enviados por vez (neste caso 89)

'******************************************************************************************************************
    if var_contador <= 89 then
          set cdonts = Server.CreateObject("cdonts.newmail")
            cdonts.From="contato@dioneicardozo.com.br"
            cdonts.To=oRsEmail("email")
            cdonts.Subject=titulo
            cdonts.Body=noticia
            'cdonts.Body= "Data: " & now()
            cdonts.MailFormat=0
            cdonts.BodyFormat=0
            cdonts.Send 
       set cdonts=Nothing
       var_contador = var_contador + 1
    else
       set cdonts = Server.CreateObject("cdonts.newmail")
            cdonts.From="contato@dioneicardozo.com.br"
            cdonts.To=oRsEmail("email")
            cdonts.Subject=titulo
            cdonts.Body=noticia
            'cdonts.Body= "Data: " & Now()
            cdonts.MailFormat=0
            cdonts.BodyFormat=0
            cdonts.Send 
       set cdonts=Nothing
       var_contador_geral = var_contador_geral + contador + 1
       Response.Write("<br />Enviados até o momento: " & var_contador_geral & "<br />")
       Response.Write("Gerando um tempo...<br />")



'******************************************************************************************************************

' ** O tempo foi gerado por testes, é um contador simples que faz um tempo no script esse número

' ** abaixo da um tempo em média no meu servidor de 1m20s

'******************************************************************************************************************
       while tempo < 120000000
            tempo = tempo + 1
       wend
       tempo = 0
       var_contador = 1
    end if
oRsEmail.MoveNext
loop
end if
oRsEmail.Close
Set oRsEmail = Nothing
Set oEmail = Nothing    
%>
Enviado com sucesso!
</body>
</html>

 

A minha dúvida é a seguinte: existe algum problema com ele? Comigo ele está funcionando certinho, mas testei apenas com 4 e-mails na minha base de dados. Se por exemplo eu tiver 1000 e-mails cadasstrados no banco, como se comportaria esta página?

 

Agradeço muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso este para enviar emails, mas um detalhe importante é verifcar o limite de emails que seu host suporta, pois ele vai bloquear e pode considerar você um spammer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Xanburzum e referente aquela quantidade de 89 e-mails, você considera um número adequado? Ou, você acha que eu poderia aumentá-lo para uns 500?

 

Obrigado por maiores esclarecimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende do foco e da extensão (abrangência) que seu cliente quer atingir. tenho clientes que envian 50, 100, 200 email por dia, mas o quanto mais puder atingir seu público alvo melhor

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.