Jump to content
Fórum Script Brasil
  • 0

Envios de emails em massa - VB.NET


JOAO EDUARDO

Question

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" %>

&lt;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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...