VB .NET - Usando o servidor do Gmail
Você sabia que pode usar o servidor do Gmail em suas aplicações .NET para enviar e receber emails ?
Você só precisa definir as seguintes informações:
Após isso você pode enviar e receber email em aplicações web ou Windows.
Aplicações ASP .NET
Em aplicações ASP .NET basta você definir a seguinte seção no arquivo de configuração web.config
<system.net> <mailSettings> <smtp from=seu_gmail_email@gmail.com> <network host="smtp.gmail.com" password="sua_gmail_senha" port="587" userName="seu_gmail_email@gmail.com"/> </smtp> </mailSettings> </system.net> |
Feito isto basta usar o namespace System.Net.Mail.SmtpClient em sua aplicação ASP .NET para enviar emails:
using System.Net.Mail; ... SmtpClient mailClient = new SmtpClient(); mailClient.EnableSsl = true; mailClient.Send(from, to, subject, body); |
Aplicações Windows
Em aplicações Windows desktop você tem que definir as credenciais de rede
sing System.Net.Mail; using System.Net; ... SmtpClient mailClient = new SmtpClient( "smtp.gmail.com", "587"); mailClient.EnableSsl = true; NetworkCredential cred = new NetworkCredential("seu_gmail_username","sua_gmail_password"); mailClient.Credentials = cred; mailClient.Send("from_me@gmail.com", "to_you@gmail.com","assunto vai aqui", "corpo do email vai aqui"); |
Exemplo de aplicação VB .NET
Vamos abrir o Visual Basic 2010 Express Edition e criar um novo projeto do tipo Windows Forms Application com o nome VBNET_Gmail;
No formulário form1.vb vamos definir uma interface bem simples usando controles Labels, TextBox e Buttons conforme o leiaute abaixo:
Os namespaces usados no formulário são:
Imports
System.Net.Mail
Imports System.Net.Mime
Vamos definir o código do formulário da seguinte forma:
1- Evento Click do botão Procurar
Private Sub btnProcurar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProcurar.Click Dim ofd1 As New OpenFileDialog() If ofd1.ShowDialog() = Windows.Forms.DialogResult.OK Then lstAnexos.Items.Add(ofd1.FileName) End If End Sub |
Este código procurar por anexos usando o controle OpenFileDialog e anexando o nome do anexo no controle ListBox;
2- Evento Click do botão Imagem
Private Sub btnImagem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImagem.Click Dim d1 As New OpenFileDialog() If d1.ShowDialog() = Windows.Forms.DialogResult.OK Then path = d1.FileName txtImagemLogo.Text = d1.FileName End If End Sub |
O código acima permite selecionar uma imagem para embutir no email usando um controle OpenFileDialog;
3- Evento Click do botão Enviar Email
Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click Dim SmtpServer As New SmtpClient() SmtpServer.Credentials = New Net.NetworkCredential("xyz@gmail.com", "password") SmtpServer.Port = 587 SmtpServer.Host = "smtp.gmail.com" SmtpServer.EnableSsl = True mail = New MailMessage() Dim addr() As String = txtDestino.Text.Split(",") Try mail.From = New MailAddress("xyz@gmail.com", "Macoratti.net", System.Text.Encoding.UTF8) Dim i As Byte For i = 0 To addr.Length - 1 mail.To.Add(addr(i)) Next mail.Subject = txtTitulo.Text 'mail.Body = txtAssunto.Text If lstAnexos.Items.Count <> 0 Then For i = 0 To lstAnexos.Items.Count - 1 mail.Attachments.Add(New Attachment(lstAnexos.Items.Item(i))) Next End If
if path <> Nothing then
endif |
Este código utiliza as credenciais do Gmail e os recursos da classe System.Net.Mail para
Private Sub btnVisualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVisualizar.Click Dim frm As New Form2 frm.Documento = "<html><body>" + txtTitulo.Text + "<br/>" + "</b><hr/> <br/>" + txtAssunto.Text + "<br/>" + "<div style=""width:100%""><hr/><table border=1 style=""width:100%"">" + "<tr><td width=30%><img style=""width: 180px; height: 170px"" src=""" + Me.path + """ alt=""" + txtOrigem.Text + """ />" + "</td><td><font size=5>" + txtOrigem.Text + "</font><br/><b><br/>" + "Macoratti.net </b><hr/> <br/>" + "http://www.macoratti.net" + "</td></tr>" + "</table><font color=""teal"">" + txtOrigem.Text + "</font>" frm.Text = "Visualização Email para : " + "Macoratti" frm.ShowDialog() End Sub |
Executando o projeto vemos abaixo o formulário preenchido e pronto para enviar o email:
Para visualizar o email podemos clicar no botão - Visualizar - e ter uma idéia do conteúdo a ser enviado:
E com isso concluímos nossa aplicação para interagir com o Gmail.
Pegue o projeto completo aqui: VBNET_Gmail.zip
Rom 6:11
Assim também vós considerai-vos como mortos para o pecado, mas vivos para Deus, em Cristo Jesus.Referências: