邮件修改部署

This commit is contained in:
2022-11-25 13:33:20 +08:00
parent 83909a58ed
commit 7284df03be
9 changed files with 130 additions and 47 deletions
@@ -7,6 +7,7 @@ using IRaCIS.Core.Application.Auth;
using AutoMapper;
using IRaCIS.Application.Contracts;
using Nito.AsyncEx;
using Microsoft.Extensions.Options;
namespace IRaCIS.Application.Services
{
@@ -21,7 +22,7 @@ namespace IRaCIS.Application.Services
Task AddUserSendEmailAsync(Guid userId, string baseUrl, string routeUrl);
Task AdminResetPwdSendEmailAsync(Guid userId,string pwdNotMd5="123456");
Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5 = "123456");
Task SiteSurveyUserJoinEmail(Guid trialId, Guid userId, string baseUrl, string rootUrl);
@@ -52,6 +53,8 @@ namespace IRaCIS.Application.Services
private readonly AsyncLock _mutex = new AsyncLock();
private readonly SystemEmailSendConfig _systemEmailConfig;
public MailVerificationService(IRepository<VerificationCode> verificationCodeRepository,
@@ -62,8 +65,9 @@ namespace IRaCIS.Application.Services
IRepository<Trial> trialRepository,
IRepository<UserType> userTypeRepository,
IRepository<Doctor> doctorTypeRepository,
IMapper mapper)
IMapper mapper, IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig)
{
_systemEmailConfig = systemEmailConfig.CurrentValue;
_verificationCodeRepository = verificationCodeRepository;
_systemBasicDatarepository = systemBasicDatarepository;
@@ -85,14 +89,15 @@ namespace IRaCIS.Application.Services
{
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(userName, emailAddress));
//主题
messageToSend.Subject = "[来自展影IRC] 关于重置邮箱的提醒";
var builder = new BodyBuilder();
@@ -136,7 +141,7 @@ namespace IRaCIS.Application.Services
};
await SendEmailHelper.SendEmailAsync(messageToSend, sucessHandle);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig, sucessHandle);
}
@@ -148,7 +153,7 @@ namespace IRaCIS.Application.Services
{
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(String.Empty, emailAddress));
//主题
@@ -198,7 +203,7 @@ namespace IRaCIS.Application.Services
await SendEmailHelper.SendEmailAsync(messageToSend, sucessHandle);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig, sucessHandle);
}
//中心调研 登陆
@@ -208,7 +213,7 @@ namespace IRaCIS.Application.Services
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(String.Empty, emailAddress));
//主题
@@ -259,7 +264,7 @@ namespace IRaCIS.Application.Services
await SendEmailHelper.SendEmailAsync(messageToSend, sucessHandle);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig,sucessHandle);
}
@@ -275,7 +280,7 @@ namespace IRaCIS.Application.Services
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(sysUserInfo.FullName, sysUserInfo.EMail));
//主题
@@ -299,7 +304,7 @@ namespace IRaCIS.Application.Services
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
var redirectUrl = $"{domain}/api/User/UserRedirect?url={ System.Web.HttpUtility.UrlEncode(routeUrl) }";
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
using (StreamReader SourceReader = System.IO.File.OpenText(pathToFile))
{
@@ -319,17 +324,17 @@ namespace IRaCIS.Application.Services
messageToSend.Body = builder.ToMessageBody();
await SendEmailHelper.SendEmailAsync(messageToSend);
await SendEmailHelper.SendEmailAsync(messageToSend,_systemEmailConfig);
}
//管理员重置密码发送邮件
public async Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5= "123456")
public async Task AdminResetPwdSendEmailAsync(Guid userId, string pwdNotMd5 = "123456")
{
var sysUserInfo = (await _userRepository.Where(t => t.Id == userId).Include(t => t.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(sysUserInfo.FullName, sysUserInfo.EMail));
//主题
@@ -364,7 +369,7 @@ namespace IRaCIS.Application.Services
messageToSend.Body = builder.ToMessageBody();
await SendEmailHelper.SendEmailAsync(messageToSend);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
}
@@ -377,11 +382,11 @@ namespace IRaCIS.Application.Services
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(sysUserInfo.FullName, sysUserInfo.EMail));
//主题
messageToSend.Subject = $"[来自展影IRC] [{ trialInfo.ResearchProgramNo}]邀请信";
messageToSend.Subject = $"[来自展影IRC] [{trialInfo.ResearchProgramNo}]邀请信";
@@ -410,7 +415,7 @@ namespace IRaCIS.Application.Services
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
var redirectUrl = $"{domain}/api/User/UserRedirect?url={ System.Web.HttpUtility.UrlEncode(routeUrl) }";
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
builder.HtmlBody = string.Format(templateInfo,
sysUserInfo.FullName,
@@ -425,7 +430,7 @@ namespace IRaCIS.Application.Services
messageToSend.Body = builder.ToMessageBody();
await SendEmailHelper.SendEmailAsync(messageToSend, null);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig,null);
}
@@ -440,11 +445,11 @@ namespace IRaCIS.Application.Services
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(String.Empty, sysUserInfo.EMail));
//主题
messageToSend.Subject = $"[来自展影IRC] [{ trialInfo.ResearchProgramNo}]邀请信";
messageToSend.Subject = $"[来自展影IRC] [{trialInfo.ResearchProgramNo}]邀请信";
var builder = new BodyBuilder();
@@ -471,7 +476,7 @@ namespace IRaCIS.Application.Services
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&UserName=" + sysUserInfo.UserName + "&UserType=" + sysUserInfo.UserTypeRole.UserTypeShortName + "&access_token=" + token;
var redirectUrl = $"{domain}/api/User/UserRedirect?url={ System.Web.HttpUtility.UrlEncode(routeUrl) }";
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
builder.HtmlBody = string.Format(templateInfo,
sysUserInfo.FullName,
@@ -489,7 +494,7 @@ namespace IRaCIS.Application.Services
messageToSend.Body = builder.ToMessageBody();
await SendEmailHelper.SendEmailAsync(messageToSend, null);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig, null);
}
@@ -526,7 +531,7 @@ namespace IRaCIS.Application.Services
var savedUser = await _userRepository.AddAsync(saveItem);
//下面获取Token 需要这部分信息
sysUserInfo =savedUser.Clone();
sysUserInfo = savedUser.Clone();
sysUserInfo.UserTypeRole = userType;
@@ -544,11 +549,11 @@ namespace IRaCIS.Application.Services
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress("GRR", "zhou941003@qq.com"));
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(doctor.FullName, doctor.EMail));
//主题
messageToSend.Subject = $"[来自展影IRC] [{ trialInfo.ResearchProgramNo}]邀请信";
messageToSend.Subject = $"[来自展影IRC] [{trialInfo.ResearchProgramNo}]邀请信";
var builder = new BodyBuilder();
@@ -582,7 +587,7 @@ namespace IRaCIS.Application.Services
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
var redirectUrl = $"{domain}/api/User/UserRedirect?url={ System.Web.HttpUtility.UrlEncode(routeUrl) }";
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
builder.HtmlBody = string.Format(templateInfo,
sysUserInfo.FullName,
@@ -597,7 +602,7 @@ namespace IRaCIS.Application.Services
messageToSend.Body = builder.ToMessageBody();
await SendEmailHelper.SendEmailAsync(messageToSend, null);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig, null);
return sysUserInfo.Id;
}