diff --git a/Infrastructure/Model/SendEmailDto.cs b/Infrastructure/Model/SendEmailDto.cs index 749bbb8..7408dcf 100644 --- a/Infrastructure/Model/SendEmailDto.cs +++ b/Infrastructure/Model/SendEmailDto.cs @@ -13,6 +13,10 @@ namespace Infrastructure.Model public string ToUser { get; set; } public string Content { get; set; } = ""; public string HtmlContent { get; set; } + /// + /// 是否发送给自己 + /// + public bool SendMe { get; set; } public DateTime AddTime { get; set; } } } diff --git a/ZR.Admin.WebApi/Controllers/CommonController.cs b/ZR.Admin.WebApi/Controllers/CommonController.cs index 49f68a9..e7514de 100644 --- a/ZR.Admin.WebApi/Controllers/CommonController.cs +++ b/ZR.Admin.WebApi/Controllers/CommonController.cs @@ -70,9 +70,14 @@ namespace ZR.Admin.WebApi.Controllers { return ToResponse(ApiResult.Error($"请配置邮箱信息")); } - MailHelper mailHelper = new MailHelper(OptionsSetting.MailOptions.From, OptionsSetting.MailOptions.Smtp, OptionsSetting.MailOptions.Port, OptionsSetting.MailOptions.Password); + MailHelper mailHelper = new(OptionsSetting.MailOptions.From, OptionsSetting.MailOptions.Smtp, OptionsSetting.MailOptions.Port, OptionsSetting.MailOptions.Password); - mailHelper.SendMail(sendEmailVo.ToUser, sendEmailVo.Subject, sendEmailVo.Content, sendEmailVo.FileUrl, sendEmailVo.HtmlContent); + string[] toUsers = sendEmailVo.ToUser.Split(",", StringSplitOptions.RemoveEmptyEntries); + if (sendEmailVo.SendMe) + { + toUsers.Append(mailHelper.FromEmail); + } + mailHelper.SendMail(toUsers, sendEmailVo.Subject, sendEmailVo.Content, sendEmailVo.FileUrl, sendEmailVo.HtmlContent); logger.Info($"发送邮件{JsonConvert.SerializeObject(sendEmailVo)}"); diff --git a/ZR.Common/MailHelper.cs b/ZR.Common/MailHelper.cs index c5299a2..b2e12c8 100644 --- a/ZR.Common/MailHelper.cs +++ b/ZR.Common/MailHelper.cs @@ -55,7 +55,7 @@ namespace ZR.Common public void SendMail(string toAddress, string subject, string text, string path = "", string html = "") { IEnumerable mailboxes = new List() { - new MailboxAddress(toAddress) + new MailboxAddress(toAddress, toAddress) }; SendMail(mailboxes, subject, text, path, html); @@ -73,7 +73,7 @@ namespace ZR.Common IList mailboxes = new List() { }; foreach (var item in toAddress) { - mailboxes.Add(new MailboxAddress(item)); + mailboxes.Add(new MailboxAddress(item, item)); } SendMail(mailboxes, subject, text, path, html); @@ -92,19 +92,14 @@ namespace ZR.Common MimeMessage message = new MimeMessage(); //发件人 message.From.Add(new MailboxAddress(FromEmail, FromEmail)); - //收件人 - //message.To.Add(new MailboxAddress(toAddress)); - //IList internets = null; - //internets.Add(new MailboxAddress(toAddress)); - message.To.AddRange(toAddress); message.Subject = subject; - message.Date = DateTime.Now; + //message.Date = DateTime.Now; //创建附件Multipart Multipart multipart = new Multipart("mixed"); - + var alternative = new MultipartAlternative(); //html内容 if (!string.IsNullOrEmpty(html)) { @@ -112,7 +107,7 @@ namespace ZR.Common { Text = html }; - multipart.Add(Html); + alternative.Add(Html); } //文本内容 if (!string.IsNullOrEmpty(text)) @@ -121,7 +116,7 @@ namespace ZR.Common { Text = text + "\r\n\n\n" + mailSign }; - multipart.Add(plain); + alternative.Add(plain); } //附件 @@ -136,12 +131,12 @@ namespace ZR.Common //文件名字 FileName = Path.GetFileName(path) }; - multipart.Add(attachment); + alternative.Add(attachment); } - + multipart.Add(alternative); //赋值邮件内容 message.Body = multipart; - + //开始发送 using (var client = new SmtpClient()) { diff --git a/ZR.Vue/src/views/tool/email/sendEmail.vue b/ZR.Vue/src/views/tool/email/sendEmail.vue index 199530e..f6a93a5 100644 --- a/ZR.Vue/src/views/tool/email/sendEmail.vue +++ b/ZR.Vue/src/views/tool/email/sendEmail.vue @@ -4,6 +4,12 @@ + + + + + 收件邮箱 + @@ -11,6 +17,9 @@ + + +