Facile e veloce: Inviare E-mail utilizzando il Server SMTP di Gmail in.NET C#

Questo non è esattamente un nuovo argomento, ma quando avevo bisogno di farlo, Ho trovato un sacco di "perché non questo lavoro per me" e non troppe risposte dirette. Spero che qualcuno trova questo utile.

Il seguente frammento di codice invierà un'e-mail utilizzando il mio account gmail per farlo, inclusi gli allegati:

utilizzando System.net.mail;
utilizzando System.net;

NetworkCredential loginInfo = Nuovo NetworkCredential("[Il mio ID di Gmail]", "[Mia Password Gmail]");
MailMessage msg = Nuovo MailMessage();
msg.From = Nuovo Classe MailAddress("[M Id Gmail]@ gmail.com");
msg.To.Add(Nuovo Classe MailAddress("paul.galvin@arcovis.com"));
msg.Soggetto = "Test infopath dev soggetto";
msg.Corpo = "<html><corpo><forte>Un messaggio forte.</forte></corpo></html>";
msg.IsBodyHtml = true;

foreach (stringa aFile in NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments(Nuovo Allegato(aFile));
} // Aggiunta di allegati.

SmtpClient client = Nuovo SmtpClient("smtp.gmail.com");
client.Proprietà EnableSsl = true;
client.UseDefaultCredentials = falso;
client.Credentials = loginInfo;
client.Port = 587;
client.Proprietà EnableSsl = true;
client.Invia(msg);

Pochi bit della chiave che mi ha rallentato e altre osservazioni / Note:

  • La prima linea che crea l'oggetto loginInfo deve utilizzare gmail di che ID spogliato "@ gmail.com”. Così, Se è il mio indirizzo di posta elettronica di gmail "sharepoint@gmail.com"e la mia password è"xyzzy"quindi la linea sarebbe simile:

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

  • Il mio account gmail è impostata per l'utilizzo di SSL e che non era un problema.
  • C'è alcune informazioni contrastanti là fuori su quello che porta da utilizzare. Ho usato la porta 587 e ha funzionato bene per me.
  • Nel mio caso, Ho anche bisogno di inviare allegati. Tale oggetto NIPFD è un metodo che sa dove sono mio allegati. Restituisce un percorso completamente (e. g. "c:\tempattachment1.jpg". Nella mia prova, Ho avuto due allegati ed entrambi hanno funzionato bene.

Utilizzato visual studio 2008 per scrivere questo codice.

</fine>

Iscriviti al mio blog.

Seguimi su Twitter a http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 pensieri su "Facile e veloce: Inviare E-mail utilizzando il Server SMTP di Gmail in.NET C#

  1. Jeff

    Il blog del Team di PowerShell ha recentemente avuto un post simile che ho trovato prezioso come un amministratore di server. Visual Studio è grande, ma molti dei miei coetanei non sono sviluppatori e non hanno una licenza acquistata. PowerShell è più accessibile a loro e si sente più come la riga di comando. Solo un suggerimento per tutti gli amministratori là fuori.

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

    L'invio di email automatizzata con 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

    Risposta

Lasciare una risposta a Jeff cancella risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *