quinta-feira, 14 de março de 2013

C# - Enviando e-mail pelo GMAIL



















Olá pessoal, hoje vou colocar aqui uma função para o envio de mensagens de e-mail utilizando uma conta do Gmail. Vi em muitos fóruns e artigos, códigos para o envio que não fazem a implementação do SSL, e logo a mensagem não é enviada.

O código parte do principio que sua página possui 4 (quatro) campos do tipo texto box sendo:

  • Nome - txt_nome;
  • Email - txt_email;
  • Telefone - txt_Telefone;
  • Mensagem - txt_mensagem;
O primeiro passo é importar a classe System.Net.Mail (using System.Net.Mail). Mais detalhes sobre essa classe pode ser obtida clicando aqui.

//Definir usuário e senha da conta do Gmail
string sUserName = "email@gmail.com";
string sPassword = "senha";

// montado stringbuilder para corpo da mensagem
StringBuilder CompleteMsg = new StringBuilder();
CompleteMsg.AppendLine("Nome:" + txt_nome.Text);
CompleteMsg.AppendLine("Telefone:" + txt_telefone.Text);
CompleteMsg.AppendLine("Mensagem:" + txt_mensgaem.Text);

// convertendo stringbuilder para string
string CorpoDoEmail = (Convert.ToString(CompleteMsg));
string sBody = CorpoDoEmail;

//Criar o objeto email
MailMessage objEmail = new MailMessage();
objEmail.To.Add(sUserName);
objEmail.From = new MailAddress(txtEmail.Text.Trim());
objEmail.Subject = "Título da mensagem";
objEmail.Body = sBody;

//Criar a função que fará o disparo
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com"; //Servidor 
smtp.Credentials = new System.Net.NetworkCredential(sUserName, sPassword);
smtp.EnableSsl = true;
smtp.Send(objEmail);

Um comentário: