Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou migrando o script da minha aplicação do namespace System.Web.Mail para o System.Net.Mail. Trata-se de um script que envia e-mails de maneira coletiva diretamente do site.
Porém, na migração, o script está retornando o seguinte erro:
Server Error in '/' Application.
--------------------------------------------------------------------------------
The specified string is not in the form required for an e-mail address
A minha dúvida é em relação a declaração do comando que causa o erro: smtpMssg.To.Add(oReader("email"))
Como devo proceder?
Desde já, agradeço a ajuda de vocês. Obrigado. Segue o código completo:
<%@ 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
'[i] 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("meuuser", "minhasenha")
SmtpClient.Host = "smtp.editorarsa.com.br"
'smtpMssg.From = "webmaster@editorarsa.com.br"
'smtpMssg.From = "editorarsa@uol.com.br"
smtpMssg.From = New System.Net.Mail.MailAddress("editorarsa@editorarsa.com.br")
[color="#FF0000"]smtpMssg.To.Add(oReader("email")) [/color]
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") & "<br>"
'Sleep para burlar bloqueio de spam
System.Threading.Thread.Sleep(3000)
End While
oReader.Close()
conexao.Close()
end sub
</script>
Carregando comentários...