Rápido e fácil: Envie Email usando o servidor de SMTP do Gmail em.NET C#

Isso não é exatamente um novo tópico, mas quando eu precisava fazê-lo, Eu encontrei um monte de "por que não este trabalho para mim" e não há muitas respostas diretas. Espero que alguém encontre isto útil.

O seguinte trecho de código irá enviar um e-mail usando minha conta do gmail para fazê-lo, incluindo anexos:

usando System.Net.Mail;
usando System.Net;

NetworkCredential loginInfo = Novo NetworkCredential("[Meu ID do Gmail]", "[Minha senha do Gmail]");
MailMessage MSG = Novo MailMessage();
MSG.From = Novo MailAddress("[M Gmail Id]@gmail.com");
MSG.To.Add(Novo MailAddress("e paul.galvin@arcovis.com"));
MSG. Assunto = "Infopath dev cobaia";
MSG. Corpo = "<HTML><corpo><forte>Uma mensagem forte.</forte></corpo></HTML>";
MSG. IsBodyHtml = verdadeiro;

foreach (Cadeia de caracteres aFile em NIPFD. GetAttachmentNamesAndLocations())
{
    MSG. Attachments.Add(Novo Anexo(aFile));
} // Adicionar anexos.

SmtpClient cliente = Novo SmtpClient("smtp.gmail.com");
cliente.EnableSsl = verdadeiro;
cliente.UseDefaultCredentials = falso;
cliente.Credenciais = loginInfo;
cliente.Port = 587;
cliente.EnableSsl = verdadeiro;
cliente.Enviar(MSG);

Alguns bits chaves que me atrasou e outras observações / notas:

  • A primeira linha que cria o objeto loginInfo precisa usar o gmail de que ID despojado "@gmail.com”. Assim, Se é o meu endereço de e-mail do gmail "e sharepoint@gmail.com"e minha senha é"xyzzy"Então a linha pareceria:

NetworkCredential loginInfo = Novo NetworkCredential("sharepoint", "xyzzy");

  • Minha conta do gmail está configurada para usar SSL, e não era um problema.
  • Há algumas informações conflitantes na qual porta usar. Eu usei a porta 587 e ele funcionou bem para mim.
  • No meu caso, Eu também precisava enviar anexos. Esse objeto NIPFD tem um método que sabe onde estão meus acessórios. Ele está retornando um caminho totalmente (EG. "c:\tempattachment1.jpg". No meu teste, Eu tinha dois acessórios e ambos funcionavam bem.

Eu usei o visual studio 2008 para escrever esse código.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 pensamentos "Rápido e fácil: Envie Email usando o servidor de SMTP do Gmail em.NET C#

  1. Jeff

    O blog da equipe do PowerShell teve recentemente um post similar que encontrei inestimável como um administrador do servidor. O Visual Studio é grande, mas muitos dos meus colegas não são desenvolvedores e não tem uma licença comprada. PowerShell parece mais com a linha de comando e é mais acessível a eles. Só uma sugestão para qualquer administradores lá fora.

    Melhor,
    Jeff (www.spjeff.com / @spjeff)

    Envio de e-mails automáticos com Send-MailMessage

    http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx

    Resposta

Deixar uma resposta

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *