Pantas dan Mudah: Hantar E-mel Menggunakan Gmail SMTP Server dalam. BERSIH C #

Ini tidak betul-betul topik baru, tetapi apabila saya diperlukan untuk melakukannya, Saya dapati banyak "mengapa tidak ini bekerja untuk saya" dan jawapan langsung tidak terlalu banyak. Saya berharap seseorang mendapati ini berguna.

Sedikit kod berikut akan menghantar e-mel menggunakan akaun gmail saya sendiri untuk melakukannya, termasuk lampiran:

menggunakan System.Net.Mail;
menggunakan System.Net;

NetworkCredential loginInfo = baru NetworkCredential("[ID Gmail saya]", "[Kata laluan Gmail saya]");
MailMessage msg = baru MailMessage();
msg.From = baru MailAddress("[M Gmail Id]@ Gmail.com");
msg.To.Add(baru MailAddress("paul.galvin@arcovis.com < skrip cf-hash = taipkan"f9e31"=" text/javascript"> / *  * /"));
msg.Subject = "Ujian infopath dev subjek";
msg.Body = "<html><badan><kuat>Satu mesej yang kuat.</kuat></badan></html>";
msg.IsBodyHtml = benar;

foreach (rentetan aFile dalam NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments.Add(baru Lampiran(aFile));
} // Menambah lampiran.

SmtpClient pelanggan = baru SmtpClient("smtp.gmail.com");
client.EnableSsl = benar;
client.UseDefaultCredentials = palsu;
client.Credentials = loginInfo;
client.Port = 587;
client.EnableSsl = benar;
client.Send(msg);

A bit utama beberapa yang perlahan saya turun dan pemerhatian lain / nota:

  • Baris pertama yang mencipta objek loginInfo perlu menggunakan ID gmail dilucutkan "@ Gmail.com". Jadi, jika alamat e-mel gmail saya "Sharepoint@gmail.com"Dan kata laluan saya adalah" xyzzy "maka garis akan kelihatan seperti:

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

  • Akaun gmail saya adalah disediakan untuk menggunakan SSL dan tidak menjadi masalah.
  • Terdapat beberapa maklumat yang bercanggah sana pada port apa untuk menggunakan. Saya menggunakan port 587 dan ia bekerja denda bagi saya.
  • Dalam kes saya,, Saya juga perlu menghantar lampiran. Bahawa objek NIPFD mempunyai kaedah yang tahu di mana saya lampiran yang. Ia adalah kembali laluan sepenuhnya (e.g. "C:\tempattachment1.jpg". Dalam ujian saya, Saya mempunyai dua lampiran dan kedua-dua mereka bekerja denda.

Saya pernah studio visual 2008 untuk menulis kod ini.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 pemikiran untuk "Pantas dan Mudah: Hantar E-mel Menggunakan Gmail SMTP Server dalam. BERSIH C #

  1. Jeff

    The PowerShell blog Team baru-baru ini mempunyai jawatan yang sama yang saya dapati tidak ternilai sebagai admin server. Visual Studio besar tetapi ramai rakan-rakan saya tidak pemaju dan tidak mempunyai lesen yang dibeli. PowerShell berasa lebih seperti baris arahan dan adalah lebih mudah untuk mereka. Hanya satu cadangan bagi mana-mana pentadbir di luar sana.

    Best,
    Jeff (www.spjeff.com / @ Spjeff)

    Menghantar e-mel automatik dengan Hantar-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

    Balas

Tinggalkan Jawapan kepada Jeff Batal reply

alamat e-mel anda tidak akan diterbitkan. Ruangan yang diperlukan ditanda *