Como enviar email?
O exemplo seguinte usa .NET 2.0 e pode ser usado em projetos WinForms ou ASP.NET. Ele mostra o envio de email usando um cliente SMTP.
1 using System; 2 using System.Net; 3 using System.Net.Mail; 4 5 ... 6 // monta a mensagem 7 MailAddress to = new MailAddress("email-do-destinatario"); 8 MailAddress from = new MailAddress("email-do-remetente"); 9 MailMessage mensagem = new MailMessage(from, to); 10 mensagem.Subject = "Teste"; 11 mensagem.Body = "Mensagem de teste"; 12 13 SmtpClient cliente = new SmtpClient("seu-servidor-SMTP"); 14 15 // dados para autenticação 16 cliente.Credentials = 17 new NetworkCredential("seu-username", "sua-senha-secreta"); 18 19 // envia a mensagem 20 try { 21 cliente.Send(mensagem); 22 } 23 catch (Exception ex) { 24 // trata a exceção 25 } 26 ...
Sobre o código:
- As linhas 7 a 11 montam a mensagem.
- A linha 13 cria o cliente SMTP
- A linha 16 define as credenciais (nome de usuário e senha) para a autenticação no servidor SMTP
- A linha 21 faz o envio da mensagem
- Na linha 24 deve ir o código para tratamento de eventuais erros no envio.
Pontos importantes:
- Nem todo servidor SMTP requer autenticação: nesse caso, as linhas 16 e 17 devem ser omitidas.
- Alguns servidores SMTP exigem que se conecte antes ao servidor POP3. Nesse caso, é preciso usar um cliente POP3, o que, infelizmente, o framework não disponibiliza; será preciso usar uma biblioteca de terceiros (assunto para um futuro tópico).
- Este exemplo não funciona com o GMail e outros servidores que usam SSL.
Tópico atualizado em 09/05/2007: pequena correção na criação da mensagem.
Nenhum comentário:
Postar um comentário