Hurtig og nem: Sende E-mail ved hjælp af Gmail SMTP-Server i.NET C#

Dette er ikke ligefrem et nyt emne, men når jeg havde brug at gøre det, Jeg fandt en masse "Hvorfor ikke vil dette arbejde for mig" og ikke alt for mange direkte svar. Jeg håber nogen finder dette nyttigt.

Den følgende bit i koden sender en e-mail ved hjælp af min egen gmail-konto til at gøre det, inklusive vedhæftede filer:

ved hjælp af System.Net.Mail;
ved hjælp af System.Net;

NetworkCredential loginInfo = nye NetworkCredential("[Min Gmail-ID]", "[Mit Gmail-adgangskode]");
Mail msg = nye Mail();
msg.Fra = nye Mail addresse("[M Gmail-Id]@gmail.com");
msg.To.Add(nye Mail addresse("paul.galvin@arcovis.com"));
msg. Emne = "Test infopath dev emne";
msg. Kroppen = "<HTML><kroppen><stærk>Et stærkt budskab.</stærk></kroppen></HTML>";
msg. IsBodyHtml = True;

foreach (streng aFile i NIPFD. GetAttachmentNamesAndLocations())
{
    msg. Attachments.Add(nye Vedhæftet fil(aFile));
} // Tilføje vedhæftede filer.

SmtpClient Client = nye SmtpClient("smtp.gmail.com");
klient. EnableSsl = True;
klient. UseDefaultCredentials = falsk;
klient. Legitimationsoplysninger = loginInfo;
klient. Port = 587;
klient. EnableSsl = True;
klient. Send(msg);

Et par centrale bits, som faldt mig ned og andre observationer / noter:

  • Den første linje, der opretter objektet loginInfo behov for at bruge gmail ID frataget "@gmail.com”. Så, Hvis min gmail email adresse er "sharepoint@gmail.com"og min adgangskode er"xyzzy"derefter linjen ville ligne:

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

  • Min gmail-konto er sat op til at bruge SSL, og der var ikke et problem.
  • Der er nogle modstridende oplysninger derude på hvilken port der skal bruges. Jeg brugt port 587 og det virkede fint for mig.
  • I mit tilfælde, Jeg har også brug for at sende vedhæftede filer. At NIPFD objekt har en metode, der ved, hvor mine vedhæftede filer. Det er at vende tilbage en fuldstændig sti (strømsparetilstand. "c:\tempattachment1.jpg". I min test, Jeg havde to vedhæftede filer og de begge arbejdede nobel.

Jeg har brugt visual studio 2008 at skrive denne kode.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 tanker om ”Hurtig og nem: Sende E-mail ved hjælp af Gmail SMTP-Server i.NET C#

  1. Jeff

    PowerShell Team blog for nylig haft et lignende indlæg, som jeg fandt uvurderligt som en server admin. Visual Studio er stor, men mange af mine kammerater er ikke udviklere og ikke har en licens købt. PowerShell føles mere som kommandolinjen og er mere tilgængelige for dem. Bare et forslag for alle admins derude.

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

    At sende automatiserede e-mails med Send-mail

    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

Efterlad et svar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *