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 to = new MailAddress(”leitor@hostweb.com.br”);
Simples, não? Agora, podemos criar a nossa MailMessage para enviar o email:
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.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:
{
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.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!