Enviando emails usando C#

Olá, garotada. O post de hoje tratará de um assunto mais simples, porém bastante necessário e básico na rotina atual de programação: envio de emails.

Com a popularização da internet, o email passou a ser um meio de comunicação extremamente difundido. As linguagens mais antigas, como C, não possuem um suporte tão cristalino ao envio de mensagens como as atuais. É claro que é possível fazê-lo, mas nas linguagens atuais é mais fácil.

Linguagens totalmente voltadas ao desenvolvimento web, como Ruby e PHP, tem um ótimo suporte ao envio de emails. O C# se encontra em uma situação intermediária, mas não é nada assustador.

As classes de envio de email se encontram no namespace System.Net.Mail, disponível no framework 2.0 em diante.

Começamos colocando o remetente e o destinatário da mensagem. Isso é simples de se fazer:

MailAddress from = new MailAddress(”brunosaboia@hostweb.com.br”);
MailAddress to = new MailAddress(”leitor@hostweb.com.br”);

Simples, não? Agora, podemos criar a nossa MailMessage para enviar o email:

MailMessage message = new MailMessage(from, to);

Agora, já temos o objeto da nossa mensagem. Mas uma mensagem sem assunto, sem conteúdo e sem ser enviada… bem, não é exatamente o meu conceito de mensagem.

message.Subject = “Olá, caro leitor”;
message.Body = “Gostaria de desejar um feliz natal a você e sua família!”;

Pronto, assim está melhor. Temos um destinatário, um remetente, um assunto e um conteúdo. Agora podemos chamá-la de mensagem, não? Porém, se não a enviarmos, ela ainda não terá cumprido seu objetivo, e será uma mensagem triste e derrotada. Vamos ajudá-la:

try
{
client.Send(message);
Console.WriteLine(”Mensagem enviada com sucesso!”);
}
catch (Exception ex)
{
Console.WriteLine(”Erro ao enviar: {0}”, ex.ToString());
}

Se tudo ocorrer bem, a mensagem será enviada e você terá desejado feliz natal a alguém.

Segue abaixo o código completo:

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;

namespace MailTest
{
class Program
{
static void Main(string[] args)
{
MailAddress from = new MailAddress(”brunosaboia@hostweb.com.br”, “Bruno Saboia”);
MailAddress to = new MailAddress(”leitor@hostweb.com.br”, “Leitor do Blog”);
MailMessage message = new MailMessage(from, to);

message.Subject = “Olá, caro leitor”;
message.Body = “Gostaria de desejar um feliz natal a você e sua família!”;

string smtpHost = “smtp.hostweb.com.br”;
SmtpClient client = new SmtpClient(smtpHost);

try
{
client.Send(message);
Console.WriteLine(”Mensagem enviada com sucesso!”);
}
catch (Exception ex)
{
Console.WriteLine(”Erro ao enviar a mensagem: {0}”, ex.ToString());
}

}
}
}

Espero que tenham gostado. Feliz natal, e até a próxima!

Tags: ,

Deixar um comentário