Nopea ja helppo: Lähettää sähköpostia Gmailin SMTP-palvelimelle.NET C#

Tämä ei ole täysin uusi aihe, mutta kun tarvitsin se, Löysin paljon "Miksei tässä työssä" ja ei liikaa suoria vastauksia. Toivon, että joku pitää tätä hyödyllisenä.

Koodin seuraavat bittinen toiminto lähettää sähköpostiviestin tehdä sen omaa gmail-tilin avulla, liitteineen:

käyttäminen System.Net.Mail;
käyttäminen System.Net;

NetworkCredential loginInfo = Uusi NetworkCredential("[Minun Gmail ID]", "[Gmail-salasana]");
MailMessage MSG = Uusi MailMessage();
MSG.From = Uusi Postiosoite("[M Gmail Id]@gmail.com");
MSG.To.Add(Uusi Postiosoite("paul.galvin@arcovis.com"));
MSG.Aihe = "Infopath dev koehenkilö";
MSG.Kehon = "<HTML><kehon><vahva>Vahva viesti.</vahva></kehon></HTML>";
MSG.IsBodyHtml = tosi;

foreach (merkkijono aFile Tässä NIPFD.GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(Uusi Liite(aFile));
} // Liitteiden lisääminen.

SmtpClient asiakas = Uusi SmtpClient("smtp.gmail.com");
asiakas.EnableSsl = tosi;
asiakas.UseDefaultCredentials = False;
asiakas.Tunnistetiedot = loginInfo;
asiakas.Port = 587;
asiakas.EnableSsl = tosi;
asiakas.Lähetä(MSG);

Muutama keskeinen bittien hidastui minua ja muut huomautukset / muistiinpanot:

  • Ensimmäinen rivi, joka luo loginInfo-olion täytyy käyttää gmail ID riistetty "@gmail.com”. Niin, Jos gmail-sähköpostiosoite on "sharepoint@gmail.com"ja salasana on"xyzzy", rivi näyttää:

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

  • Gmail-tilini on määritetty käyttämään SSL: ää ja että ei ollut ongelma.
  • On ristiriitaisia tietoja, mikä portti käyttää. Käytin port 587 ja se työntekijä hienosti ajaksi we.
  • Minun tapauksessani, Tarvitaan myös lähettää liitteitä. Että NIPFD esine on menetelmä, joka tietää, mistä Omat liitteet. Se on palauttaa täysin polku (virrankatkaisu. "c:\tempattachment1.jpg". Minun testi, Minulla oli kaksi liitteet ja molemmat toimi hyvin.

Käytin visual studio 2008 kirjoittaa tämä koodi.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 ajatuksia ”Nopea ja helppo: Lähettää sähköpostia Gmailin SMTP-palvelimelle.NET C#

  1. Jeff

    PowerShell joukkue blog äskettäin oli samankaltaista, että löysin korvaamaton palvelimen admin. Visual Studio on suuri, mutta monet minun peers eivät kehittäjät ja ei ole hankitun lisenssin. PowerShell tuntuu enemmän kuin herruus asettaa riviin ja on helpommin heidän. Vain ehdotus ylläpitäjät siellä.

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

    Automaattisen sähköpostien lähetys-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

    Vastaus

Jätä vastaus Jeff Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. pakolliset kentät on merkitty *