VB.NET - Enviando E-mails
E cá estamos nós em mais um artigo sobre como enviar e-mails ; desta vez veremos como fazer isto usando o VB.NET . Na plataforma .NET o envio de e-mail é feito usando o protocolo SMTP - Simple Mail Transfer Protocol - pois este é o serviço que o IIS - Internet Information Server - utiliza.( O SMTP utiliza a porta 25, HTTP escuta a porta 80)
Obs: Quando um programa de transferência de correio contata um servidor em uma máquina remota ele forma uma conexão TCP para se comunicar e , os programas seguem o SMTP que faz parte da suite TCP/IP.
Para enviar um e-mail usando o protocolo SMTP e o VB.NET , vamos usar a classe - System.Web.Mail - e você vai precisar especificar os métodos e propriedades conforme abaixo :
From | Origem |
To | Destino |
Cc | Com cópia para |
Bc | com cópia oculta |
Subject | Assunto |
Body | Corpo do e-mail |
BodyFormat | formato do e-mail |
Attachments.Add | Arquivos anexados |
Send | Enviar o e-mail |
Vamos criar um projeto no Visual Studio .NET do tipo Asp.Net Web Application conforme o layout abaixo :
- O formulário -
webform1.aspx possui os seguintes controles:
- Vamos incluir também dois controles RadioButton : Radiobutton1 e RadioButton2 - Vamos preencher a propriedade Text de cada controle conforme o layout abaixo: |
|
Agora o código do projeto: (Estou mostrando apenas o código mais importante.)
Imports
System.Web.Mail Public Class WebForm1 Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox Protected WithEvents Label3 As System.Web.UI.WebControls.Label Protected WithEvents TextBox3 As System.Web.UI.WebControls.TextBox Protected WithEvents Label4 As System.Web.UI.WebControls.Label Protected WithEvents TextBox4 As System.Web.UI.WebControls.TextBox Protected WithEvents RadioButton2 As System.Web.UI.WebControls.RadioButton Protected WithEvents RadioButton1 As System.Web.UI.WebControls.RadioButton Protected WithEvents Button1 As System.Web.UI.WebControls.Button Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If RadioButton1.Checked Then Dim MandaEmailSimples As New MailMessage() Dim origem, destino, titulo, assunto As String origem = TextBox1.Text.ToLower.Trim() destino = TextBox2.Text.ToLower.Trim() titulo = TextBox3.Text.Trim() assunto = TextBox4.Text.Trim() SmtpMail.Send(origem, destino, titulo, assunto) Else Dim MandaEmailAnexos As New MailMessage() With MandaEmailAnexos .From = TextBox1.Text.ToLower.Trim .To = TextBox2.Text.ToLower.Trim .Subject = TextBox3.Text.Trim .Body = "<HTML><Body>" & TextBox4.Text.Trim() & "</body></html>" .BodyFormat = MailFormat.Html .Priority = MailPriority.High .Attachments.Add(new MailAttachment("c:\teste\carta.txt")) End With SmtpMail.Send(MandaEmailAnexos) End If End Sub End Class |
O código permite o envio de dois tipos de e-mails : E-Mail Simples e E-Mail com arquivo anexos:
Apenas verificamos qual opção o usuário selecionou em - If RadioButton1.Checked Then - para então preparar o e-mail para envio conforme os dados informados pelo usuário. O arquivo anexo esta sendo incluído direto no código mas você pode incluir um controle TextButton para poder informar qual arquivo deseja enviar em anexo.
O método Smtp.Send é que efetivamente envia o E-mail e a propriedade Attachements.Add é que permite um arquivo anexo.
Note que a primeira linha de código é - Imports System.Web.Mail - que referencia a classe e-Mail.
Acabou...
Muito simples , não é mesmo...
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#