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#發送郵件有所協助。