Podemos criar uma aplicação de exemplo utilizando as classes abaixo:
Classe: MailAddress
Namespace: System.Net.Mail.MailAddress
Ela representa um endereço de e-mail qualquer, seja do remetente ou destinatário. Esta classe será utilizada pela classe "MailMessage" para armazenar os endereços, de origem e destino, da mensagem.
Além do endereço de e-mail , esta classe também pode armazenar um "nome" para ser exibido ao lado do endereço de e-mail quando a mesnagem for visualizada. O nome desta propriedade é "DisplayName"
Classe: MailMessage
Namespace: System.Net.Mail.MailMessage
Repesenta uma mensagem de e-mail que pode ser enviada através da classe "SmtpClient"
O remetente, destinatário, assunto e corpo de uma mensagem de e-mail podem ser especificados como parâmetros quando um objeto MailMessage é inicializado. Estes parâmetros também podem ser definidos ou acessados usando as propriedades no objeto MailMessage.
Classe: SmtpClient
Namespace: System.Net.Mail.SmtpClient
Esta classe permite que aplicações possam enviar e-mail utilizando o protocolo SMTP.
Para enviar uma mensagem de e-mail utilizando a classe SmtpClient você deve especificar as seguintes propriedades:
* Host
O servidor host de SMTP que será utilizado para enviar o e-mail, no exemplo irei utilizar o gmail.
* Credentials
Credenciais para autenticação, se exigido pelo servidor SMTP, no meu exemplo será necessário.
* EnableSsl
Informar se o servidor de SMTP utiliza SSL para encriptar a conexão.
* UseDefaultCredentials
No meu caso irei passar "false", pois vou passar as minhas credenciais através da propriedade "Credentials" descrita acima.
Veja abaixo uma vídeo-aula contendo um exemplo prático:
Veja abaixo um código de exemplo. Para este código funcionar é preciso adicionar 2 namespaces:
using System.Net;
using System.Net.Mail;
private void enviarEmail()
{
MailAddress remetente = new MailAddress(emailorigem@gmail.com, "Nome da Origem");
MailAddress destino = new MailAddress(emaildestino@gmail.com, "Nome do Destino");
MailMessage msg = new MailMessage(remetente, destino);
msg.Subject = "Assunto da mensagem";
msg.Body = "Corpo da mensagem";
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = "587";
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential(remetente.Address, "Senha do emailorigem");
smtp.Send(msg);
}