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 "<br>"
<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:
Pergunta
Notax
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:
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 NotaxLink 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.