Ir para conteúdo
Fórum Script Brasil
  • 0

APP para envio de newsletter


Notax

Pergunta

Pessoal, bom dia...

To fazendo um app para envio de newsletter... comecei então selecionando um que eu pudesse aproveitar algumas coisas aqui do forum mesmo e tratei de modificá-lo... a começar pelo componente, que era cdonts e eu preciso que seja em cdo.sys...

Feito isso, já estou conseguindo enviar listas pequenas de e-mails sem problema algum, no entanto quero aprimorar este aplicativo um pouco mais, conforme os itens listados abaixo:

1) Como faço para limitar por exemplo o numero de e-mails a serem enviados por hora? Digamos por exemplo que eu queira disparar 240 e-mails por hora, mas a minha lista tem aproximadamente 15.000 e-mails... isso lebaria mais ou mens 62 hrs... ou 62 disparos... no entanto não quero fazer isso manualmente... quero carregar a lista toda e apartir dela que o app se encarregue de fazer os envios de pacotes conforme programado... Pra fazer isso eu teria que usar uma paginação? mas onde? no send.mail?

2) Como faço para gerar estatísticas dos envios destes e-mails? Por exemplo: quantos chegaram? quantos não chegaram e por qual motivo (cx cheia, e-mail inexistente)??? Quantos foram clicados e em qual link?

o script que eu estou usando para fazer as modificações (é muito bom por sinal) inicialmente foi desenvolvido por Felipe Siola e segue abaixo:

<!--#include file="restrito.asp"-->
<!--#include file="cons.asp"-->
<html>
<head>
<title>Administração da NewsLetter</title>
<style>
input         {background-color: #D4D4D4; font-family: Verdana; font-size: 8pt; color: #000000;}
textarea      {background-color: #D4D4D4; font-family: Verdana; font-size: 8pt; color: #000000;}
</style>
</head>
<body link="#000000" vlink="#000000" alink="#000000">
    <font face="Verdana" size="2">
<%    acao=Request.querystring("acao")
    select case acao
    case "enviar"    %>
   <form action="admin.asp?acao=enviando" method="post">
   <input type="hidden" name="data" value="<%=Date()%>">
   <p align="center">
    Assunto :<br>
   <input type="text" name="assunto" size="49"><br>
   Mensagem :<br>
   <textarea name="mensagem" cols="60" rows="15"></textarea><br>
   <input type="submit" value="Enviar">
   </form><BR>
Obs: Todos os e-mails são enviados em formato HTML<BR>
Para quebra de linha utilize a tag "&lt;br&gt;"
   <hr size="1">
   
<% case "enviando" %>
<%    user = 0
   assunto = Request.Form("assunto")
   mensagem = Request.form("mensagem")

 AbreConexao
   Sql = "SELECT email FROM dados"
   If Len(mensagem) Then
   
   Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open Sql, ConStr, 3, 3
   
   While Not rs.EOF

Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mkt@sjfinance.com.br"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
objCDOSYSCon.Fields.update
Set objCDOSYSMail.Configuration = objCDOSYSCon
objCDOSYSMail.From = email
objCDOSYSMail.To = rs("email")
objCDOSYSMail.Subject = assunto
objCDOSYSMail.HtmlBody = mensagem
'objCDOSYSMail.fields.update 
On Error Resume Next
objCDOSYSMail.Send
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
   
   Response.Write "Email enviado para : " & rs("email") & "<br>"
   user = user + 1
   rs.MoveNext
   Wend
   Response.Write "No total foram enviados " & user & " emails."
   rs.Close
   Set rs = Nothing
   Sql = "INSERT INTO enviados (assunto,mensagem,data) "
   Sql = Sql & "VALUES('" & Request.Form("assunto") & "','" & mensagem & "','" & Request.Form("data") & "')"
   Conexao.Execute(Sql)
   Else
   Response.Redirect "admin.asp?acao=erro"
   End If
   FechaConexao %>

<% case "modificar" %>
<% AbreConexao
Sql = "SELECT * From dados"
Set rs = Conexao.Execute(Sql)
while not rs.EOF%>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td><input type="text" value="<%=rs("email")%>" name="email" size="30"></td>
    <td><form method="POST" action="admin.asp?acao=alterar&id=<%=rs("id")%>">
<input type="submit" value="Alterar"></form></td>
    <td><form method="POST" action="admin.asp?acao=deletar&id=<%=rs("id")%>">
<input type="submit" value="Apagar"></form></td>
  </tr>
</table>
<hr size="1">

<%
 rs.MoveNext
wend
FechaConexao %>

Grato pela atenção.

[]'s Notax.

p.s. caso possam dar uma olhadinha no link abaixo... ainda to com problemas por lá... :blush:

http://scriptbrasil.com.br/forum/index.php?showtopic=116293

Editado por Notax
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...