/// <summary> /// 发送邮件方法1 /// </summary> /// <param name="title1">标题</param> /// <param name="title2">子标题</param> /// <param name="innerTable">表格HTML代码</param> /// <param name="to">接收人</param> /// <param name="ccList">抄送列表,多个用英文逗号分隔</param> public static void SendEmail1(string title1, string title2, string innerTable, string to, string ccList, string titleother) { //string head = "<tr><td style='width:110px'>订单ID</td><td style='width:110px'>订单明细</td><td style='width:100px'>单据</td><td style='width:180px'>重复类型</td><td style='width:180px'>实际生成时间</td><td>金额</td></tr>"; //sbRepeatBuilder.Insert(0, "<table>" + head).Append("</table>"); string body = CommonEmailTemplate1.Replace("[title1]", title1); body = body.Replace("[title2]", title2); body = body.Replace("[titleother]", titleother); body = body.Replace("[innertable]", innerTable); //string emails = ConfigurationUtility.AppSetting("CheckRepeatReceiptsEmails"); //string[] emailtemp = emails.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); //if (emailtemp.Length == 2) //{ // to = emailtemp[0]; // ccList = emailtemp[1]; //} EmailModel mail = new EmailModel() { Title = title1, To = to, CCList = ccList, Body = body }; MailHelper.Send(mail); }
/// <summary> /// 发送邮件(含附件) /// </summary> public static void SendWithAttachments(EmailModel email, string filePath) { GetMailMessageInstance(email); if (_mailMessage != null) { if (string.IsNullOrEmpty(email.To)) throw new ArgumentNullException("To", "邮件接收人不能为空!"); if (!string.IsNullOrEmpty(filePath)) Attachments(filePath); _smtpClient = new SmtpClient { Credentials = new System.Net.NetworkCredential(email.UserCode, email.Password), DeliveryMethod = SmtpDeliveryMethod.Network, Host = email.Host, }; _smtpClient.Send(_mailMessage); } }
/// <summary> /// 处审核后类的实例 /// </summary> private static void GetMailMessageInstance(EmailModel email) { _mailMessage = new MailMessage(); _mailMessage.To.Add(email.To); _mailMessage.From = new MailAddress(email.From); _mailMessage.Subject = email.Title; _mailMessage.Body = email.Body; _mailMessage.IsBodyHtml = true; _mailMessage.BodyEncoding = System.Text.Encoding.UTF8; _mailMessage.Priority = MailPriority.Normal; if (!string.IsNullOrEmpty(email.CCList)) { _mailMessage.CC.Add(email.CCList); } }
/// <summary> /// 异步发送邮件 /// </summary> /// <param name="email"></param> /// <param name="completedMethod"></param> public static void SendAsync(EmailModel email, SendCompletedEventHandler completedMethod) { if (email != null) { GetMailMessageInstance(email); if (string.IsNullOrEmpty(email.To)) throw new ArgumentNullException("To", "邮件接收人不能为空!"); _smtpClient = new SmtpClient { Credentials = new System.Net.NetworkCredential(email.UserCode, email.Password), DeliveryMethod = SmtpDeliveryMethod.Network, Host = email.Host, }; _smtpClient.SendCompleted += completedMethod;//注册异步发送邮件完成时的事件 _smtpClient.SendAsync(_mailMessage, email); } }