Olá, pessoal, sou novo aqui no fórum e to precisando de uma ajuda de vocês. Tenho uma web application desenvolvida em VB.NET e BD em Access.
Desenvolvi um mecanismo no proprío .NET para o envio coletivo de emails utilizando a classe system.net.mail. Estava tudo bem até o servidor de hospedagem impor um limite no smtp de 100 mensagens por hora.
Agora terei que implementar o código com a adição de uma caixa postal de envio para cada 100 emails enviados, respeitando a limitação do servidor, no entanto estou com algumas dificuldades de como fazer. O código da pág de envio é este:
smtpMssg.Body &= "<!-- Inicio do Rodape --><br><br><br><br><br><br><table border=1 width='100%' style='font-family: Arial; font-size: 8 pt' bordercolor=808080 cellspacing=0 cellpadding=5 bgcolor=EFEFEF><tr><td width='100%'><p align=left><b><u>Política de Privacidade</u></b><br> Você está recebendo este e-mail por estar cadastrado(a) para receber nossos informativos. Para conhecer mais sobre os serviços oferecidos pela <b>Editora RSA</b> acesse o site <a href='http://www.editorarsa.com.br'>http://www.editorarsa.com.br</a>. Caso deseje remover seu e-mail de nossa lista responda com o assunto "Remover".</td></tr></table><!-- Fim do Rodape -->"
Pergunta
JOAO EDUARDO
Olá, pessoal, sou novo aqui no fórum e to precisando de uma ajuda de vocês. Tenho uma web application desenvolvida em VB.NET e BD em Access.
Desenvolvi um mecanismo no proprío .NET para o envio coletivo de emails utilizando a classe system.net.mail. Estava tudo bem até o servidor de hospedagem impor um limite no smtp de 100 mensagens por hora.
Agora terei que implementar o código com a adição de uma caixa postal de envio para cada 100 emails enviados, respeitando a limitação do servidor, no entanto estou com algumas dificuldades de como fazer. O código da pág de envio é este:
<%@ Page Language="VB" EnableSessionState=True validateRequest="false" %>
<%@ Register TagPrefix="MeusControles" TagName="Menu" Src="~/painel/menu.ascx" %>
<%@ Register TagPrefix="MeusControles" TagName="Rodape" Src="~/painel/rodape.ascx" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
<%@ Import Namespace="System.Net.Mail" %>
<script runat="server">
sub Page_Load
dim sql,acao,sessao AS String
Dim conexao As OleDbConnection
Dim comando As OleDbCommand
Dim oReader As OleDbDataReader
conexao = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=e:\home\editorarsa\dados\AssinantesEdRSA.mdb;")
conexao.Open()
'sessao = Request.QueryString("sessao")
'acao = Request.QueryString("acao")
'if(Request.QueryString("uid") = "") then
'Response.Redirect("http://www.editorarsa.com.br/painel/login.html")
'end if
'If (Request.QueryString("spr") = "") Then
'Response.Redirect("http://www.editorarsa.com.br/painel/login.html")
'End If
'If (sessao = "") Then
'Response.Redirect("http://www.editorarsa.com.br/painel/login.html")
'ElseIf (sessao <> Session.SessionID) Then
'Response.Redirect("http://www.editorarsa.com.br/painel/logout.aspx")
'End If
sql = "SELECT DISTINCT email FROM AssinantesEdRSA where (email like '%@%')"
If (Request.Form("enviar_para") = "A") Then
'[A] Envia somente para os Ativos
sql &= " and status='A' "
ElseIf (Request.Form("enviar_para") = "I") Then
' Envia somente para os Inativos
sql &= " and status='I' "
Else
'[T] - é para todos... não faz nada
End If
comando = New OleDbCommand(sql, conexao)
oReader = comando.ExecuteReader()
lblEmails.Text = ""
While oReader.Read()
Dim smtpMssg As New MailMessage()
smtpMssg = New System.Net.Mail.MailMessage
Dim SmtpClient As New SmtpClient()
SmtpClient.Credentials = New System.Net.NetworkCredential("meuemaill", "senha")
SmtpClient.Host = "smtp.editorarsa.com.br"
'Importante: Servidor SMTP
'http://site.locaweb.com.br/suporte/tutoriais/aspnet/env_email_aspnet.asp
'Define qual o host a ser usado para envio de mensagens, na locaweb é smtp2.locaweb.com.br
'smtpMssg.From = "webmaster@editorarsa.com.br"
'smtpMssg.From = "editorarsa@uol.com.br"
smtpMssg.From = New System.Net.Mail.MailAddressCollection("editorarsa@editorarsa.com.br")
smtpMssg.To.Add(oReader("email").ToString())
smtpMssg.Priority = MailPriority.Normal 'Normal/High/Low
smtpMssg.IsBodyHtml = True 'Enviar em formato HTML
smtpMssg.Subject = Request.Form("assunto")
smtpMssg.Body = "<TABLE WIDTH=700 HEIGHT=80><TR><TD><IMG SRC='http://www.editorarsa.com.br/barra_topo_email.gif'></TD></TR><TR><TD>" & Request.Form("body") & "</TD></TR></TABLE>"
smtpMssg.Body &= "<!-- Inicio do Rodape --><br><br><br><br><br><br><table border=1 width='100%' style='font-family: Arial; font-size: 8 pt' bordercolor=808080 cellspacing=0 cellpadding=5 bgcolor=EFEFEF><tr><td width='100%'><p align=left><b><u>Política de Privacidade</u></b><br> Você está recebendo este e-mail por estar cadastrado(a) para receber nossos informativos. Para conhecer mais sobre os serviços oferecidos pela <b>Editora RSA</b> acesse o site <a href='http://www.editorarsa.com.br'>http://www.editorarsa.com.br</a>. Caso deseje remover seu e-mail de nossa lista responda com o assunto "Remover".</td></tr></table><!-- Fim do Rodape -->"
SmtpClient.Send(smtpMssg)
lblEmails.Text &= oReader("email").ToString() & "<br>"
'Sleep para burlar bloqueio de spam
System.Threading.Thread.Sleep(3000)
End While
oReader.Close()
conexao.Close()
end sub
Desde já, agradeço a ajuda de vocês
Link para o comentário
Compartilhar em outros sites
0 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.