// 引入命名空間 轉載請註明 http://netsos.cnblogs.com/using System.Net;using System.Net.Mail; SmtpClient smtp = new SmtpClient(); //執行個體化一個SmtpClientsmtp.DeliveryMethod = SmtpDeliveryMethod.Network; //將smtp的出站方式設為 Networksmtp.EnableSsl = false;//smtp伺服器是否啟用SSL加密 smtp.Host = "smtp.163.com"; //指定 smtp 伺服器位址smtp.Port = 25; //指定 smtp 伺服器的連接埠,預設是25,如果採用預設連接埠,可省去 //如果你的SMTP伺服器不需要身份認證,則使用下面的方式,不過,目前基本沒有不需要認證的了smtp.UseDefaultCredentials = true;//如果需要認證,則用下面的方式smtp.Credentials = new NetworkCredential("郵箱帳號@163.com", "郵箱密碼"); MailMessage mm = new MailMessage(); //執行個體化一個郵件類 mm.Priority = MailPriority.High; //郵件的優先順序,分為 Low, Normal, High,通常用 Normal即可 mm.From = new MailAddress("郵箱帳號@163.com", "真有意思", Encoding.GetEncoding(936));//收件方看到的郵件來源;//第一個參數是發信人郵件地址//第二參數是發信人顯示的名稱//第三個參數是 第二個參數所使用的編碼,如果指定不正確,則對方收到後顯示亂碼//936是簡體中文的codepage值 轉載請註明 http://netsos.cnblogs.com/ 註:上面的郵件來源,一定要和你登入郵箱的帳號一致,否則會認證失敗 mm.ReplyTo = new MailAddress("test_box@gmail.com", "我的接收郵箱", Encoding.GetEncoding(936));//ReplyTo 表示對方回複郵件時預設的接收地址,即:你用一個郵箱發信,但卻用另一個來收信//上面後兩個參數的意義, 同 From 的意義 mm.CC.Add("a@163.com,b@163.com,c@163.com");//郵件的抄送者,支援群發,多個郵件地址之間用 半形逗號 分開//當然也可以用全地址,如下:mm.CC.Add(new MailAddress("a@163.com", "抄送者A", Encoding.GetEncoding(936)));mm.CC.Add(new MailAddress("b@163.com", "抄送者B", Encoding.GetEncoding(936)));mm.CC.Add(new MailAddress("c@163.com", "抄送者C", Encoding.GetEncoding(936)));mm.Bcc.Add("d@163.com,e@163.com");//郵件的密送者,支援群發,多個郵件地址之間用 半形逗號 分開//當然也可以用全地址,如下:mm.CC.Add(new MailAddress("d@163.com", "密送者D", Encoding.GetEncoding(936)));mm.CC.Add(new MailAddress("e@163.com", "密送者E", Encoding.GetEncoding(936))); mm.Sender = new MailAddress("xxx@xxx.com", "郵件寄件者", Encoding.GetEncoding(936));//可以任意設定,此資訊包含在郵件標頭中,但並不會驗證有效性,也不會顯示給收件者//說實話,我不知道有啥實際作用,大家可不理會,也可不寫此項 mm.To.Add("g@163.com,h@163.com");//郵件的接收者,支援群發,多個地址之間用 半形逗號 分開//當然也可以用全地址添加mm.To.Add(new MailAddress("g@163.com", "接收者g", Encoding.GetEncoding(936)));mm.To.Add(new MailAddress("h@163.com", "接收者h", Encoding.GetEncoding(936))); mm.Subject = "這是郵件標題"; //郵件標題mm.SubjectEncoding = Encoding.GetEncoding(936);// 這裡非常重要,如果你的郵件標題包含中文,這裡一定要指定,否則對方收到的極有可能是亂碼。// 936是簡體中文的pagecode,如果是英文標題,這句可以忽略不用 mm.IsBodyHtml = true; //郵件內文是否是HTML格式mm.BodyEncoding = Encoding.GetEncoding(936);//郵件內文的編碼, 設定不正確, 接收者會收到亂碼mm.Body = "<font color="red">郵件測試</font>";//郵件內文 mm.Attachments.Add( new Attachment( @"d:a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf ) );//添加附件,第二個參數,表示附件的檔案類型,可以不用指定//可以添加多個附件mm.Attachments.Add( new Attachment( @"d:b.doc") ); smtp.Send( mm ); //發送郵件,如果不返回異常, 則大功告成了。 轉載請註明 http://netsos.cnblogs.com/ |