This commit is contained in:
he
2023-01-11 14:52:52 +08:00
parent 6a7a5cc2dd
commit f1a70bb6ad
9 changed files with 195 additions and 5 deletions
@@ -16,6 +16,8 @@ namespace IRaCIS.Application.Services
Task AnolymousSendEmail(string researchProgramNo, string emailAddress, int verificationCode);
Task SendEmailVerification(string emailAddress, int verificationCode);
Task SiteSurveyRejectEmail(MimeMessage messageToSend);
Task SendMailEditEmail(Guid userId, string userName, string emailAddress, int verificationCode);
@@ -208,6 +210,75 @@ namespace IRaCIS.Application.Services
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig, sucessHandle);
}
/// <summary>
/// 发送验证码
/// </summary>
/// <param name="emailAddress"></param>
/// <param name="verificationCode"></param>
/// <returns></returns>
public async Task SendEmailVerification(string emailAddress, int verificationCode)
{
var messageToSend = new MimeMessage();
//发件地址
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
//收件地址
messageToSend.To.Add(new MailboxAddress(String.Empty, emailAddress));
//主题
messageToSend.Subject = $"[来自展影IRC]的提醒";
var builder = new BodyBuilder();
var pathToFile = _hostEnvironment.WebRootPath
+ Path.DirectorySeparatorChar.ToString()
+ "EmailTemplate"
+ Path.DirectorySeparatorChar.ToString()
+ "UserOptCommon.html";
using (StreamReader SourceReader = System.IO.File.OpenText(pathToFile))
{
var templateInfo = SourceReader.ReadToEnd();
builder.HtmlBody = string.Format(templateInfo,
"",
"您正在参与展影医疗IRC项目",
verificationCode
);
}
messageToSend.Body = builder.ToMessageBody();
EventHandler<MessageSentEventArgs> sucessHandle = (sender, args) =>
{
// args.Response
var code = verificationCode.ToString();
_ = _verificationCodeRepository.AddAsync(new VerificationCode()
{
CodeType = VerifyType.Email,
HasSend = true,
Code = code,
UserId = Guid.Empty,//此时不知道用户
EmailOrPhone = emailAddress,
ExpirationTime = DateTime.Now.AddMinutes(3)
}).Result;
_ = _verificationCodeRepository.SaveChangesAsync().Result;
};
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig, sucessHandle);
}
//中心调研 登陆
public async Task AnolymousSendEmail(string researchProgramNo, string emailAddress, int verificationCode)
{