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>
Siga-me no Twitter em http://www.twitter.com/pagalvin
Limpo e simples…
Obrigado por compartilhar.
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