发送邮件类
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Net.Mail; using System.Net.Mime; using System.Web; using MoShi.Common.Utilities.Log4Net; using MoShi.UI.Common; namespace SendService.Email { /// <summary> /// 邮件发送类 /// </summary> public class EmailManager { /// <summary> /// 添加附件 /// </summary> public void Attachments(string Path) { string[] path = Path.Split(','); Attachment data; ContentDisposition disposition; for (int i = 0; i < path.Length; i++) { data = new Attachment(path[i], MediaTypeNames.Application.Octet);//实例化 附件 disposition = data.ContentDisposition; disposition.CreationDate = System.IO.File.GetCreationTime(path[i]);//获取 附件的创建日期 disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);// 获取附件的修改日期 disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);//获取附 件的读取日期 mailMessage.Attachments.Add(data);//添加到附件中 } } /// <summary> /// 异步发送邮件 /// </summary> /// <param name="to"></param> /// <param name="title"></param> /// <param name="body"></param> /// <param name="CompletedMethod"></param> /// <returns></returns> public bool SendAsync(string to, string title, string body, SendCompletedEventHandler CompletedMethod) { var result = false; try { var mailMessage = new MailMessage() { From = new System.Net.Mail.MailAddress(AppSetting.EmailFromAddress), Subject = title, Body = body, IsBodyHtml = true, BodyEncoding = System.Text.Encoding.UTF8, Priority = System.Net.Mail.MailPriority.Normal }; mailMessage.To.Add(to); if (mailMessage != null) { var smtpClient = new SmtpClient(); smtpClient.Credentials = new System.Net.NetworkCredential(mailMessage.From.Address, password);//设置发件人身份的票据 smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; smtpClient.Host = "smtp." + mailMessage.From.Host; smtpClient.SendCompleted += new SendCompletedEventHandler(CompletedMethod);//注册异步发送邮件完成时的事件 smtpClient.SendAsync(mailMessage, mailMessage.Body); } } catch (Exception ex) { LogHelper.WriteLog(typeof(EmailManager), ex); } return result; } /// <summary> /// 发送邮件 /// </summary> /// <param name="to"></param> /// <param name="title"></param> /// <param name="body"></param> /// <returns></returns> public static bool Send(string to, string title, string body) { var result = false; try { var mailMessage = new MailMessage() { From = new System.Net.Mail.MailAddress(AppSetting.EmailFromAddress), Subject = title, Body = body, IsBodyHtml = true, BodyEncoding = System.Text.Encoding.UTF8, Priority = System.Net.Mail.MailPriority.Normal }; mailMessage.To.Add(to); if (mailMessage != null) { var smtpClient = new SmtpClient() { Credentials = new System.Net.NetworkCredential(mailMessage.From.Address, AppSetting.EmailFromPassword),//设置发件人身份的票据 DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network, Host = "smtp." + mailMessage.From.Host }; smtpClient.Send(mailMessage); result = true; } } catch (Exception ex) { LogHelper.WriteLog(typeof(EmailManager), ex); } return result; } } }
计较少了,快乐就多了。