using System; using System.Collections.Generic; using System.Linq; using System.Net.Mail; using System.Text; using System.Threading; using System.Threading.Tasks; using Abp.Dependency; using Abp.Net.Mail; using Nito.Disposables; using ShwasherSys.Common.Dto; namespace ShwasherSys.Common { public class EmailMsgSendHandler: ISingletonDependency { public EmailMsgSendHandler(IEmailSender emailSender) { EmailSender = emailSender; MsgListenerObj = new MsgListener(); MsgListenerObj.SendMsg += MsgListenerObj_SendMsg; } private void MsgListenerObj_SendMsg(EmailMsg msg) { try { Thread.Sleep(2000); MailMessage mail = new MailMessage { IsBodyHtml = msg.IsHtml, Body = msg.MsgContent, Subject = msg.MsgTitle }; var toEmails = msg.ReceiveEmails.Split(','); foreach (var email in toEmails) { mail.To.Add(email); } EmailSender.Send(mail); } catch (Exception e) { this.LogError($"系统邮件发送异常!{e.Message}"); } } protected IEmailSender EmailSender; private MsgListener MsgListenerObj; public void SendEmailMsg(EmailMsg input) { MsgListenerObj.AddSendMsg(input); } } }