Szybkie i łatwe: Wysyła Email przy użyciu serwera SMTP Gmail w C# .net

Nie jest to dokładnie taki nowy temat, ale kiedy muszę to zrobić, Znalazłem wiele "Dlaczego nie będzie to praca dla mnie" i nie zbyt wiele bezpośrednich odpowiedzi. Mam nadzieję, że ktoś znajdzie to przydatne.

Trochę następujący kod wyśle wiadomość e-mail przy użyciu konta gmail to zrobić, wraz z załącznikami:

przy użyciu System.Net.Mail;
przy użyciu System.Net;

NetworkCredential loginInfo = Nowy NetworkCredential("[Mój Gmail ID]", "[Mój Gmail hasło]");
MailMessage msg = Nowy MailMessage();
msg.Z = Nowy MailAddress("[M Gmail Id]@gmail.com");
msg.To.Add(Nowy MailAddress("paul.galvin@arcovis.com"));
msg. Przedmiot = "Program infopath dev przedmiotu badań";
msg. Ciała = "<HTML><organ><silne>Mocne przesłanie.</silne></organ></HTML>";
msg. IsBodyHtml = PRAWDA;

foreach (ciąg aFile w NIPFD. GetAttachmentNamesAndLocations())
{
    msg. Attachments.Add(Nowy Załącznik(aFile));
} // Dodawanie załączników.

SmtpClient klienta = Nowy SmtpClient("smtp.gmail.com");
klient.EnableSsl = PRAWDA;
klient.UseDefaultCredentials = FAŁSZ;
klient.Poświadczenia = loginInfo;
klient.Port = 587;
klient.EnableSsl = PRAWDA;
klient.Wyślij(msg);

Kilka bitów klucza, które mnie zwolnił i inne uwagi / notatki:

  • Pierwszy wiersz, który tworzy obiekt loginInfo wymaga korzystać z Gmaila, które pozbawione ID "@gmail.com”. Tak, Jeśli mój gmail poczta elektroniczna przemawiaæ jest "sharepoint@gmail.com"i mój hasło jest"xyzzy"następnie linii będzie wyglądać:

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

  • Mój gmail uwa¿aæ jest skonfigurowany do używania protokołu SSL i to nie problem.
  • Istnieje kilka sprzecznych informacji tam na jakiego portu użyć. Ja używany port 587 i ono pracował czysty dla mnie.
  • W moim przypadku, Także trzeba wysłać załączniki. Obiekt NIPFD jest metoda, która wie, gdzie są moje załączniki. To jest powrót pełni ścieżka (np.. "c:\tempattachment1.jpg". W moim teście, Miałem dwa załączniki i oboje pracowali dobrze.

Użyłem programu visual studio 2008 Aby napisać ten kod.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Technorati znaczniki: ,,,

2 przemyślenia na temat „Szybkie i łatwe: Wysyła Email przy użyciu serwera SMTP Gmail w C# .net

  1. Jeff

    Zespół PowerShell blog niedawno miał podobne stanowisko, że znalazłem bezcenne jako admin na serwerze. Visual Studio jest wielki, ale wielu moich rówieśników nie programistów i nie mają licencji zakupionych. Czuje się bardziej jak wiersza polecenia PowerShell i jest bardziej dostępne dla nich. Tylko sugestia dla jakichs tam adminow.

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

    Wysyłanie e-maili zautomatyzowany z MailMessage Wyślij

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

Odpowiedz

Twoj adres e-mail nie bedzie opublikowany. wymagane pola są zaznaczone *