您好,登錄后才能下訂單哦!
小編給大家分享一下asp.net實(shí)現(xiàn)的群發(fā)郵件功能的方法是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
前段時(shí)間在幫老師開發(fā)的網(wǎng)站中需要用到一個(gè)群發(fā)郵件的功能,而自己之前學(xué)習(xí)cms系統(tǒng)的時(shí)候用的we7的群發(fā)郵件功能也有一些問題,于是乎便自己去網(wǎng)上查了一下資料,自己總結(jié)了一下,并且封裝成了一個(gè)類,親測有用,支持附件,希望對大家也有些幫助,我測試時(shí)用的是qq郵箱,成功的前提是要在郵箱設(shè)置中打開smtp服務(wù)功能,如qq郵箱設(shè)置里面的賬戶選項(xiàng)卡里面把需要的功能勾上:
其他郵箱的話原理一樣~~~~~~
using System; using System.Collections.Generic; using System.Linq; using System.Net.Mail; using System.Web; namespace MailSend { public class SendEmail { /// <summary> /// 群發(fā)郵件函數(shù) /// </summary> /// <param name="subject">發(fā)送的主題</param> /// <param name="body">發(fā)送的內(nèi)容</param> /// <param name="email_list">收件人列表,通過|來分割開來,可以自己定義</param> /// <param name="File_Path">發(fā)送附件的地址,獲取了路徑后上傳</param> public static void Send(string subject, string body, string email_list, string File_Path) { string MailUser = "XXX@qq.com";//我測試的是qq郵箱,其他郵箱一樣的道理 string MailPwd = "你的密碼";//郵箱密碼 string MailName = "測試"; string MailHost = "smtp.exmail.qq.com";//根據(jù)自己選擇的郵箱來查詢smtp的地址 MailAddress from = new MailAddress(MailUser, MailName); //郵件的發(fā)件人 MailMessage mail = new MailMessage(); //設(shè)置郵件的標(biāo)題 mail.Subject = subject; //設(shè)置郵件的發(fā)件人 //Pass:如果不想顯示自己的郵箱地址,這里可以填符合mail格式的任意名稱,真正發(fā)mail的用戶不在這里設(shè)定,這個(gè)僅僅只做顯示用 mail.From = from; //設(shè)置郵件的收件人 string address = ""; //傳入多個(gè)郵箱,用“|”分割開,可以自己自定義,再通過mail.To.Add()添加到列表 string[] email = email_list.Split('|'); foreach (string name in email) { if (name != string.Empty) { address = name; mail.To.Add(new MailAddress(address)); } } //設(shè)置郵件的抄送收件人 //這個(gè)就簡單多了,如果不想快點(diǎn)下崗重要文件還是CC一份給領(lǐng)導(dǎo)比較好 //mail.CC.Add(new MailAddress("Manage@hotmail.com", "尊敬的領(lǐng)導(dǎo)"); //設(shè)置郵件的內(nèi)容 mail.Body = body; //設(shè)置郵件的格式 mail.BodyEncoding = System.Text.Encoding.UTF8; mail.IsBodyHtml = true; //設(shè)置郵件的發(fā)送級別 mail.Priority = MailPriority.Normal; //設(shè)置郵件的附件,將在客戶端選擇的附件先上傳到服務(wù)器保存一個(gè),然后加入到mail中 if (File_Path != "") { mail.Attachments.Add(new Attachment(File_Path)); mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess; } SmtpClient client = new SmtpClient(); //設(shè)置用于 SMTP 事務(wù)的主機(jī)的名稱,填I(lǐng)P地址也可以了 client.Host = MailHost; //設(shè)置用于 SMTP 事務(wù)的端口,默認(rèn)的是 25 client.Port = 25; client.UseDefaultCredentials = false; //這里才是真正的郵箱登陸名和密碼, 我的用戶名為 MailUser ,我的密碼是 MailPwd client.Credentials = new System.Net.NetworkCredential(MailUser, MailPwd); client.DeliveryMethod = SmtpDeliveryMethod.Network; ////如果發(fā)送失敗,SMTP 服務(wù)器將發(fā)送 失敗郵件告訴我 mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; //都定義完了,正式發(fā)送了,很是簡單吧! client.Send(mail); } } }
以上是asp.net實(shí)現(xiàn)的群發(fā)郵件功能的方法是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。