Snabb och enkel: Skicka e-post använder Gmail SMTP-Server i .net C#

Det är inte precis ett nytt ämne, men när jag behövde göra det., Jag hittade en hel del "varför inte detta arbete för mig" och inte alltför många direkta svar. Jag hoppas att någon hittar detta användbara.

Den följande biten av koden kommer att skicka ett e-postmeddelande med mitt gmail-konto för att göra det, inklusive bifogade filer:

med hjälp av System.Net.Mail;
med hjälp av System.Net;

NetworkCredential loginInfo = nya NetworkCredential("[Min Gmail ID]", "[Min Gmail-lösenord]");
Postmeddelande MSG = nya Postmeddelande();
MSG.Från = nya Postadress("[M Gmail Id]@gmail.com");
MSG.To.Add(nya Postadress("paul.galvin@arcovis.com"));
MSG. Angående = "Infopath dev testpersonen";
MSG. Body = "<HTML><organ><stark>Ett starkt budskap.</stark></organ></HTML>";
MSG. IsBodyHtml = sant;

foreach (sträng aFile i NIPFD. GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(nya Bifogad fil(aFile));
} // Lägga till bilagor.

SmtpClient kund = nya SmtpClient("smtp.gmail.com");
klient.EnableSsl = sant;
klient.UseDefaultCredentials = falskt;
klient.Referenser = loginInfo;
klient.Port = 587;
klient.EnableSsl = sant;
klient.Skicka(MSG);

Några viktiga bitar som bromsat mig och andra observationer / anteckningar:

  • Den första raden som skapar loginInfo-objektet måste använda gmail ID fråntagen "@gmail.com”. Så, om min gmail e-postadress är "sharepoint@gmail.com"och mitt lösenord är"xyzzy"raden skulle se ut:

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

  • Mitt gmail-konto har konfigurerats till att använda SSL och det var inte ett problem.
  • Det finns några motstridiga information ute på vilken port som ska användas. Jag använde port 587 och det fungerade bra för mig.
  • I mitt fall, Jag behövde också skicka bilagor. Att NIPFD objekt har en metod som vet var mina bilagor är. Det återvänder en fullt väg (t.ex. "c:\tempattachment1.jpg". I mitt test, Jag hade två bilagor och de båda fungerade bra.

Jag använde visual studio 2008 att skriva denna kod.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 tankar på "Snabb och enkel: Skicka e-post använder Gmail SMTP-Server i .net C#

  1. Jeff

    PowerShell Team bloggen nyligen hade ett liknande inlägg som jag hittade ovärderlig som en server admin. Visual Studio är bra men många av mina jämnåriga inte är utvecklare och har inte en licens som köps. PowerShell känns mer som kommandoraden och är mer tillgängliga för dem. Bara ett förslag för alla admins ute.

    Bästa,
    Jeff (www.spjeff.com / @spjeff)

    Skicka automatiska e-postmeddelanden med skicka-postmeddelande

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

    Svar

Lämna ett svar till Jeff Avbryt svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *