C#发送邮件的实现实例解析
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來實現的實例
using?System;? ?using?System.Collections;? ?using?System.Text;? ?using?System.Net;? ?using?System.Net.Mail;? ??namespace?NetMailSend? ?{? ?class?Programe? ?{? ?public?static?void?Main(string[]?args)? ?{? ?//mail?message? ?MailMessage?myMail?=?new?MailMessage();? ?myMail.From?=?new?MailAddress("test@gmail.com");? ?myMail.To.Add(new?MailAddress("test@gmail.com"));? ?myMail.Subject?=?"Test";? ?myMail.SubjectEncoding?=?Encoding.UTF8;? ?myMail.Body?=?"You?are?successed.";? ?myMail.BodyEncoding?=?Encoding.UTF8;? ?myMail.IsBodyHtml?=?false;? ?myMail.Priority?=?MailPriority.High;? ?myMail.CC.Add(new?MailAddress("test@gmail.com"));? ?myMail.Bcc.Add(new?MailAddress("test@gmail.com")); ?//smtp?client? ?SmtpClient?sender?=?new?SmtpClient();? ?sender.Host?=?"smtp.gmail.com";? ?sender.Port?=?587;? ?sender.Credentials?=? ?new?NetworkCredential("test@gmail.com",?"test");? ?sender.DeliveryMethod?=?SmtpDeliveryMethod.Network;? ?sender.EnableSsl?=?true;? ?try? ?{? ?sender.Send(myMail);? ?Console.WriteLine("Success");? ?}? ?catch?(Exception?e)? ?{? ?Console.WriteLine("Failed.Exception:{0}",?e.Message);? ?}? ?Console.Write("Press?any?key?to?quit...");? ?Console.ReadKey();? ?}? ?}? ?}? ??C#發送郵件使用System.Net.Mail來實現的具體內容就向你介紹到這里,希望對你了解和學習C#發送郵件有所幫助。
總結
以上是生活随笔為你收集整理的C#发送邮件的实现实例解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .Net开发中报表工具选择的体会心得
- 下一篇: 浅析C#发送短信的原理