sábado, 21 de abril de 2012

Como criar uma aplicação para enviar e-mail utilizando .NET

Atualmente diversos aplicativos necessitam de um serviço para envio de e-mail.
Podemos criar uma aplicação de exemplo utilizando as classes abaixo:

Classe: MailAddress
Namespace: System.Net.Mail.MailAddress

Ela representa um endereço de e-mail qualquer, seja do remetente ou destinatário. Esta classe será utilizada pela classe "MailMessage" para armazenar os endereços, de origem e destino, da mensagem.

Além do endereço de e-mail , esta classe também pode armazenar um "nome" para  ser exibido ao lado do endereço de e-mail quando a mesnagem for visualizada. O nome desta propriedade é "DisplayName"

Classe: MailMessage
Namespace: System.Net.Mail.MailMessage
Repesenta uma mensagem de e-mail que pode ser enviada através da classe "SmtpClient"

O remetente, destinatário, assunto e corpo de uma mensagem de e-mail podem ser especificados como parâmetros quando um objeto MailMessage é inicializado. Estes parâmetros também podem ser definidos ou acessados ​​usando as propriedades no objeto MailMessage.

Classe: SmtpClient
Namespace: System.Net.Mail.SmtpClient

Esta classe permite que aplicações possam enviar e-mail utilizando o protocolo SMTP.


Para enviar uma mensagem de e-mail utilizando a classe SmtpClient você deve especificar as seguintes propriedades:

* Host
O servidor host de SMTP que será utilizado para enviar o e-mail, no exemplo irei utilizar o gmail.

* Credentials
 Credenciais para
autenticação, se exigido pelo servidor SMTP, no meu exemplo será necessário.

* EnableSsl
Informar se o servidor de SMTP utiliza SSL para encriptar a conexão.


* UseDefaultCredentials
No meu caso irei passar "false", pois vou passar as minhas credenciais através da propriedade "Credentials" descrita acima.

Veja abaixo uma vídeo-aula contendo um exemplo prático:



Veja abaixo um código de exemplo. Para este código funcionar é preciso adicionar 2 namespaces:

using System.Net;
using System.Net.Mail;

private void enviarEmail()
{
     MailAddress remetente = new MailAddress(emailorigem@gmail.com, "Nome da Origem"); 
     MailAddress destino     = new MailAddress(emaildestino@gmail.com, "Nome do Destino");

     MailMessage msg = new MailMessage(remetente, destino);
     msg.Subject          = "Assunto da mensagem";
     msg.Body             = "Corpo da mensagem";

     SmtpClient smtp                   = new SmtpClient();
     smtp.Host                              = "smtp.gmail.com";
     smtp.Port                              = "587";
     smtp.EnableSsl                     = true;
     smtp.UseDefaultCredentials = false;

     smtp.Credentials = new NetworkCredential(remetente.Address, "Senha do emailorigem");
     smtp.Send(msg);
}

Nenhum comentário:

Postar um comentário