C#發送郵件的實現執行個體解析

來源:互聯網
上載者:User

C#發送郵件使用System.Net.Mail來實現,那麼在這種實現中要注意這樣幾個問題是什嗎?C#發送郵件使用System.Net.Mail來實現的具體的執行個體是什麼呢?現在開始我們的講述。

1、System.Net.Mail是.NET 2.0以後的版本中被推薦使用的方法,它解決了一些編碼問題和一些安全驗證的問題,並且對MailMessage類重寫,提供了更多的函數,使得建立MailMessage更加便利。

2、System.Net.Mail.MailMessage中,加入SubjectEncoding屬性,而且對於To, Cc, Bcc都加入了一些域下的方法,使得可以更便利的實現郵件群發。而且使用了更加物件導向的MailAddress類的對象來表明郵件地址。

3、System.Net.Mail中加入SmtpClient類,該類包含了諸如本應用中的一些方法和屬性,可以對連結進行安全連結的標記等等

4、值得注意的是,一般來講SMTP(Simple Message Transfer Protocol)使用的連接埠是25,這也是多數郵件服務期提供的連接埠,但是gmail卻不一樣,gmail的最新連接埠是587,而不是先前的465。

5、Gmail的伺服器是要求安全連結的,所以一定要指定Sender.EnableSsl = true。

6、此外SmtpClient對象中有一個非常重要的方法,要介紹一下,就是SendAsync(), 這個方法已經被重載過了,public void SendAsync(MailMessage message, object userToken)要求使用MailMessage作為發送對象,並且勇userToken指定非同步作業時調用的方法。public void SendAsync(string from, string recipients, string subject, string body, object userToken) 可以不用建立MailMessage對象直接發送郵件,userToken與上一個函數相同,public void SendAsyncCancel()用來取消非同步作業以發送郵件。

C#發送郵件使用System.Net.Mail來實現的執行個體

 
  1. using System;   
  2. using System.Collections;   
  3. using System.Text;   
  4. using System.Net;   
  5. using System.Net.Mail;   
  6.  
  7. namespace NetMailSend   
  8. {   
  9. class Programe   
  10. {   
  11. public static void Main(string[] args)   
  12. {   
  13. //mail message   
  14. MailMessage myMail = new MailMessage();   
  15. myMail.From = new MailAddress("test@gmail.com");   
  16. myMail.To.Add(new MailAddress("test@gmail.com"));   
  17. myMail.Subject = "Test";   
  18. myMail.SubjectEncoding = Encoding.UTF8;   
  19. myMail.Body = "You are successed.";   
  20. myMail.BodyEncoding = Encoding.UTF8;   
  21. myMail.IsBodyHtml = false;   
  22. myMail.Priority = MailPriority.High;   
  23. myMail.CC.Add(new MailAddress("test@gmail.com"));   
  24. myMail.Bcc.Add(new MailAddress("test@gmail.com"));  
  25. //smtp client   
  26. SmtpClient sender = new SmtpClient();   
  27. sender.Host = "smtp.gmail.com";   
  28. sender.Port = 587;   
  29. sender.Credentials =   
  30. new NetworkCredential("test@gmail.com", "test");   
  31. sender.DeliveryMethod = SmtpDeliveryMethod.Network;   
  32. sender.EnableSsl = true;   
  33. try   
  34. {   
  35. sender.Send(myMail);   
  36. Console.WriteLine("Success");   
  37. }   
  38. catch (Exception e)   
  39. {   
  40. Console.WriteLine("Failed.Exception:{0}", e.Message);   
  41. }   
  42. Console.Write("Press any key to quit...");   
  43. Console.ReadKey();   
  44. }   
  45. }   
  46. }   
  47.  

C#發送郵件使用System.Net.Mail來實現的具體內容就向你介紹到這裡,希望對你瞭解和學習C#發送郵件有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.