利用System.Net.Mail和多线程实现邮件发送
生活随笔
收集整理的這篇文章主要介紹了
利用System.Net.Mail和多线程实现邮件发送
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于郵件發送,一般來說,程序會響應超過1秒,這樣對于用戶體驗來說,讓用戶等待的時間過長,而且發送的郵件越多時間就越長,所以這里我利用了線程的來處理郵件發送這種耗時的工作,廢話不多說,直接上代碼
private string title;/// <summary>/// 發送標題/// </summary>public string Title{get { return title; }set { title = value; }}private string body;/// <summary>/// 發送內容,可以包含html/// </summary>public string Body{get { return body; }set { body = value; }}private List<string> toEmail = new List<string>();/// <summary>/// 發送給誰,可以多用戶/// </summary>public List<string> ToEmail{get { return toEmail; }set { toEmail = value; }}private string toDis;/// <summary>/// 發送給誰的描述/// </summary>public string ToDis{get { return toDis; }set { toDis = value; }}private string fromDis;/// <summary>/// 發送人描述/// </summary>public string FromDis{get { return fromDis; }set { fromDis = value; }}public SendEmail(string title, string body, List<string> toEmail, string toDis, string fromDis){this.title = title;this.body = body;this.toEmail = toEmail;this.toDis = toDis;this.fromDis = fromDis;}#region 郵件發送方法/// <summary>/// 利用線程來發送郵件,減少系統響應時間/// </summary>public void WebEmail(){try{Thread thread = new Thread(new ThreadStart(SendWebEmail));thread.Start();}catch{throw;}}public void SendWebEmail(){try{foreach (string toEmailName in this.ToEmail){MailAddress from = new MailAddress(SendConfig.EmailName, this.FromDis); //SendConfig.EmailName是發送郵件的郵箱名稱MailAddress to = new MailAddress(toEmailName, this.ToDis);MailMessage msg = new MailMessage(from, to);msg.Priority = MailPriority.High;msg.Subject = this.Title;msg.Body = this.Body;msg.BodyEncoding = System.Text.Encoding.UTF8;msg.IsBodyHtml = true;SmtpClient smtp = new SmtpClient();smtp.Host = SendConfig.SMTP; //SendConfig.SMTP是發送郵件的郵箱的SMTPsmtp.UseDefaultCredentials = false;smtp.Credentials = new System.Net.NetworkCredential(SendConfig.EmailName, SendConfig.EmailPwd); //SendConfig.EmailPwd是發送郵件的郵箱的密碼smtp.DeliveryMethod = SmtpDeliveryMethod.Network;smtp.Send(msg); }}catch (Exception e){throw;}}#endregion View Code程序需要引用:
using System.Net.Mail;
using System.Threading;
這兩個命名空間
轉載于:https://www.cnblogs.com/chusdd/p/3611961.html
總結
以上是生活随笔為你收集整理的利用System.Net.Mail和多线程实现邮件发送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻量级UIImageView分类缓存 库
- 下一篇: dell 远程访问管理卡iDRAC 7