sexta-feira, 6 de janeiro de 2012

Enviando e-mail com C#

Olá pessoal!

Neste post, vamos mostrar como enviar uma mensagem de e-mail utilizando C#.

As classes que utilizaremos estão nos namespaces System.Net e System.Net.Mail. Tenha certeza de tê-las referenciado:

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

No exemplo, vou usar as configurações para envio usando uma conta do GMail. Vamos ao código:

    SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
    client.EnableSsl = true;

    MailAddress remetente = new MailAddress("seu.email@gmail.com", "Seu Nome");
    MailAddress destinatario = new MailAddress("email.do.destinatario@qualquercoisa.com", "Nome do Destinatário");

    MailMessage message = new MailMessage(remetente, destinatario);
    message.Body = "Acesse gustavosiqueira.blogspot.com";
    message.Subject = "Enviando email com C#";

    NetworkCredential credential = new NetworkCredential("seu.email@gmail.com", senha.do.email" );
    client.Credentials = credential;
   
    client.Send(message);

Seguindo o código passo-a-passo:

  • Criamos uma instância da classe SmtpClient, que implementa o envio de e-mails pelo protocolo SMTP. No construtor, passamos o endereço do servidor de saída e a porta de saída que nosso serviço de e-mail utiliza (smtp.gmail.com e porta 587, para o caso do GMail);
  • Como o GMail requer o uso de SSL para envio de e-mails, definimos a propriedade EnableSSL para true;
  • Criamos dois objetos MailAdress (endereço de email). Um com os dados do remetente e outro com os dados do destinatário;
  • Criamos um objeto MailMessage, que representa a mensagem de e-mail propriamente dita. No construtor já podemos passar os MailAddress do remetente e do destinatário. O corpo da mensagem foi definido na propriedade Body, e o assunto do e-mail na propriedade Subject;
  • Criamos uma NetworkCredential com login e senha de nossa conta de e-mail. Passamos essas credenciais ao nosso objeto SmtpClient;
  • Por fim, usamos o método Send do SmtpClient para enviar a mensagem.

E está feito! Em breve, o post que fiquei devendo sobre introdução ao Ajax com Asp.Net!

Abraços a todos!

Nenhum comentário:

Postar um comentário