www.devmedia.com.br
[versão para impressão]
Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=10741

Artigo .net Magazine 55 - Enviando e-mails com ASP.NET

Neste artigo veremos os conceitos de envio de e-mail, como enviar e-mail através do .NET e como criar uma interface de teste para envio.

Esse artigo faz parte da revista .NET Magazine edição 55. Clique aqui para ler todos os artigos desta edição

Easy .NET

Enviando e-mails com ASP.NET

Permita que seu sistema ASP.NET envie e-mails

 

Neste artigo veremos

·         Conceitos de envio de e-mail;

·         Como enviar e-mail através do .NET;

·         Como criar uma interface de teste para envio.

Qual a finalidade

·         Como enviar e-mail através do .NET.

Quais situações utilizam esses recursos?

·         Praticamente qualquer sistema utiliza envio de e-mail, seja fale conosco de site, CRM, envio de avisos, relatórios, entre outros.

 

Resumo do DevMan

Continuando a sessão Easy .Net, hoje vamos ver como enviar e-mail através do ASP.NET com algumas dicas de abordagem durante o desenvolvimento de aplicações ASP.NET.

 

O envio de e-mail através de uma aplicação hoje em dia tornou-se primordial. Seja através de um formulário “fale conosco” de um web site, seja para enviar avisos aos usuários de um sistema ou até enviar relatórios por e-mail. Isto sem contar sistemas de CRM, e-mail marketing, entre inúmeros outros casos o e-mail tornou-se uma ferramenta indispensável e de conhecimento obrigatório para qualquer desenvolvedor.

O .NET possui uma biblioteca bastante completa para o envio de e-mail e a partir da versão 2.0 ficou ainda mais fácil. Neste artigo da sessão Easy .Net vamos aprender como enviar e-mails utilizando o namespace System.Net.Mail. Neste namespace contamos com diversas classes, enumerações e delegates que nos auxiliam no envio de e-mail.

 

Conhecendo o namespace System.Net.Mail

O System.Net.Mail é o namespace que contém as classes utilizadas para envio de e-mail utilizando o SMTP (Simple Mail Transfer Protocol). Na Tabela 1, podemos visualizar uma descrição das classes do namespace. Em linhas gerais nós temos classes que tratam a mensagem que será enviada. Este trabalho é realizado pela classe MailMessage. Os anexos são tratados pela classe Attachment, que pode ter uma coleção, tratada pela classe AttachmentCollection. O remetente e os destinatários são tratados pela classe MailAddress.

A conexão com o servidor pode ser feita através da classe SmtpClient, que fará o envio do e-mail. Normalmente um servidor requisita autenticação por usuário e senha, e para isso podemos contar com a classe System.Net.NetworkCredential. Esta encapsula todo o trabalho de autenticação.

No exemplo, veremos como fazer com que estas classes trabalhem em conjunto para que o e-mail seja enviado com sucesso.

 

Classes

Descrição

AlternateView

Representa o formato para visualização da mensagem

AlternateViewCollection

Representa uma coleção de AlternateView

Attachment

Representa o arquivo anexo

AttachmentBase

Classe que representa um anexo de e-mail. As classes Attachment, AlternateView, and LinkedResource são derivadas desta classe.

AttachmentCollection

Coleção que armazena os anexos que serão enviados neste e-mail

LinkedResource

Representa um recurso externo em um anexo do e-mail, como uma imagem em um HMTL.

LinkedResourceCollection

Armazena recursos vinculados a ser enviado como parte da mensagem do e-mail

MailAddress

Representa o endereço de e-mail do remetente ou destinatário

MailAddressCollection

Armazena um endereço de e-mail associado à mensagem

MailMessage

Representa a mensagem a ser enviada pelo SmtpClient

SmtpClient

Permite a aplicação enviar e-mail utilizando o SMTP

SmtpException

Representa a exceção quando o servidor não consegue enviar a mensagem

SmtpFailedRecipientException

Representa a exceção quando o servidor não consegue enviar para um determinado destinatário

SmtpFailedRecipientsException

Exceção de infra-estrutura, quando um e-mail é enviado e não consegue chegar a todos os destinatários.

SmtpPermission

Controle de acesso do SMTP

SmtpPermissionAttribute

Atributos do controle de acesso do SMTP

 

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

Thomas Alexander

Guru .net e tecnologias MS