Facebook Pixel
Enviando E-Mails com VB.NET

Enviando E-Mails com VB.NET

Rotina simples demonstrando como fazer o envio de e-mails utilizando a linguagem VB.NET.

Enviar e-mail utilizando o .NET é muito simples e requer poucas linhas de código. No trecho abaixo vou exemplificar como executar tal atividade.

Para o nosso exemplo, teremos uma interface composta dos seguintes elementos:

Textboxes:
txtSMTPServer – Servidor de SMTP que será utilizado
txtSMTPLogin – Login no servidor SMTP
txtSMTPSenha – Senha no servidor SMTP
txtSMTPFrom – Meu nome para exibição
txtSMTPEMail – Meu endereço de e-mail
txtParaEMail – Endereço de e-mail do destinatário
txtParaNome – Nome para exibição no e-mail do destinatário

Checkbox:
chkSMTPAutentica – O servidor STMP requer autenticação?

Em primeiro lugar, devem ser instanciados alguns objetos:

Uma vez instanciados os objetos, vamos ao envio propriamente dito. Vou partir do princípio que estamos enviando uma mala direta, então o remetente será sempre o mesmo para diversos destinatários diferentes. Sendo assim, dentro da rotina de envio haverá um loop. Vamos começar a rotina:

O loop será feito, levando-se em consideração a existência de uma DataTable chamada MinhaTabela que possui os campos:
Nome – Nome para exibição do destinatário
EMail – E-mail do destinatátio

Dim Envio As New System.Net.Mail.SmtpClient
Dim Credencial As New System.Net.NetworkCredential

Private Sub EnviaEMail
  Dim De As New System.Net.Mail.MailAddress(txtSMTPEMail.text,txtSMTPFrom.text)
  For Each Linha As System.Data.DataRow in MinhaTabela.Rows
    Dim Para As New System.Net.Mail.MailAddress(Linha("EMail"),Linha("Nome"))
    Dim Mensagem As New System.Net.Mail.MailMessage(De, Para)
    Mensagem.Subject = "Assunto da mensagem"
    Mensagem.Body = "<h1>Isso é um <b>teste</b>!</h1>" 
    Mensagem.IsBodyHtml = True
    Credencial.UserName = txtSMTPLogin.text
    Credencial.Password = txtSMTPSenha.text
    Envio.Host = txtSMTPServer.text
    Envio.Credentials = Credencial
    Try
       Envio.Send(Mensagem)
    Catch ex As Exception
       Console.WriteLine("Algo fede")
    End Try
  Next
End Sub

Ao final dessa rotina, seus e-mails estarão todos enviados. Até a próxima, Luciano Reis.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *