Nhanh chóng và dễ dàng: Gửi Email bằng cách sử dụng máy chủ SMTP của Gmail trong .net C#

Điều này là không chính xác là một chủ đề mới, nhưng khi tôi cần thiết để làm điều đó, Tôi thấy rất nhiều "tại sao sẽ không làm việc này cho tôi" và không quá nhiều câu trả lời trực tiếp. Tôi hy vọng ai đó tìm thấy điều này hữu ích.

Nhiều mã, sau đây sẽ gửi một email bằng cách sử dụng tài khoản gmail của riêng của tôi để làm điều đó, bao gồm các tập tin đính kèm:

bằng cách sử dụng System.Net.Mail;
bằng cách sử dụng System.Net;

NetworkCredential loginInfo = mới NetworkCredential("[ID Gmail của tôi]", "[Mật khẩu Gmail của mình]");
MailMessage bột ngọt = mới MailMessage();
bột ngọt.Từ = mới MailAddress("[M Gmail Id]@gmail.com");
bột ngọt.To.Add(mới MailAddress("paul.galvin@arcovis.com"));
bột ngọt.Tiêu đề = "Kiểm tra infopath dev chủ đề";
bột ngọt.Cơ thể = "<HTML><cơ thể><mạnh mẽ>Một thông điệp mạnh mẽ.</mạnh mẽ></cơ thể></HTML>";
bột ngọt.IsBodyHtml = sự thật;

foreach (chuỗi aFile NIPFD.GetAttachmentNamesAndLocations())
{
    bột ngọt.Attachments.Add(mới Tập tin đính kèm(aFile));
} // Thêm tệp đính kèm.

SmtpClient khách hàng = mới SmtpClient("smtp.gmail.com");
khách hàng.EnableSsl = sự thật;
khách hàng.UseDefaultCredentials = sai;
khách hàng.Thông tin đăng nhập = loginInfo;
khách hàng.Cảng = 587;
khách hàng.EnableSsl = sự thật;
khách hàng.Gửi(bột ngọt);

Một vài bit quan trọng tôi chậm và quan sát khác / ghi chú:

  • Dòng đầu tiên tạo ra đối tượng loginInfo cần phải sử dụng gmail ID tước "@gmail.com”. Vì vậy, Nếu địa chỉ email gmail của tôi "sharepoint@gmail.com"và mật khẩu của tôi là"xyzzy"sau đó dòng sẽ giống như thế:

NetworkCredential loginInfo = mới NetworkCredential("sharepoint", "xyzzy");

  • Tài khoản gmail của tôi được thiết lập để sử dụng SSL và đó không phải là một vấn đề.
  • Một số thông tin xung đột hiện có trên những gì cổng để sử dụng. Tôi đã sử dụng cổng 587 và nó làm việc tốt cho tôi.
  • Trong trường hợp của tôi, Tôi cũng cần thiết để gửi tập tin đính kèm. NIPFD đối tượng có một phương pháp mà biết tập tin đính kèm của tôi ở đâu. Nó là trở lại một đường dẫn đầy đủ (Ví dụ như. "c:\tempattachment1.jpg". Trong thử nghiệm của tôi, Tôi đã có hai tập tin đính kèm và cả hai đều đã làm việc tốt.

Tôi đã sử dụng visual studio 2008 để viết mã này.

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

Technorati Tags: ,,,

2 Những suy nghĩ trên "Nhanh chóng và dễ dàng: Gửi Email bằng cách sử dụng máy chủ SMTP của Gmail trong .net C#

  1. Jeff

    PowerShell Team blog gần đây đã có một bài tương tự mà tôi tìm thấy vô giá như là một quản trị viên máy chủ. Visual Studio là rất tốt nhưng nhiều người trong số đồng nghiệp của tôi không phải là nhà phát triển và không có một giấy phép mua. PowerShell cảm thấy giống như các dòng lệnh và là dễ tiếp cận hơn với họ. Chỉ là một gợi ý cho bất kỳ quản trị viên trên mạng.

    Tốt nhất,
    Jeff (www.spjeff.com / @spjeff)

    Gửi email tự động với gửi-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

Để lại một trả lời Jeff hủy trả lời

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *