Test_IRC_Net8
parent
5bd055c77d
commit
121b1d4eb4
|
|
@ -9438,7 +9438,7 @@
|
||||||
融合的CTSeriesId
|
融合的CTSeriesId
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ChangePlottingScaleChangeAnswerInDto.MarkId">
|
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.ChangePlottingScaleChangeAnswerInDto.NoneDicomFileId">
|
||||||
<summary>
|
<summary>
|
||||||
标记id
|
标记id
|
||||||
</summary>
|
</summary>
|
||||||
|
|
@ -16549,11 +16549,17 @@
|
||||||
系统邮件配置表
|
系统邮件配置表
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Contracts.EmailNoticeConfigService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeConfig},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeUserType},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
<member name="M:IRaCIS.Core.Application.Contracts.EmailNoticeConfigService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeConfig},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeUserType},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.SystemEmailSendConfig},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
|
||||||
<summary>
|
<summary>
|
||||||
系统邮件配置表
|
系统邮件配置表
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Contracts.EmailNoticeConfigService.GetEmailList">
|
||||||
|
<summary>
|
||||||
|
获取邮件列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Contracts.EmailNoticeConfigService.BatchUpdateEmail(System.Collections.Generic.List{IRaCIS.Core.Application.Contracts.BatchUpdateEmailTopicCommand})">
|
<member name="M:IRaCIS.Core.Application.Contracts.EmailNoticeConfigService.BatchUpdateEmail(System.Collections.Generic.List{IRaCIS.Core.Application.Contracts.BatchUpdateEmailTopicCommand})">
|
||||||
<summary>
|
<summary>
|
||||||
批量更新邮件主题中英文
|
批量更新邮件主题中英文
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,14 @@
|
||||||
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
using DocumentFormat.OpenXml.Spreadsheet;
|
||||||
using IRaCIS.Core.Application.Helper;
|
using IRaCIS.Core.Application.Helper;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
|
using MailKit;
|
||||||
|
using MailKit.Net.Imap;
|
||||||
|
using MailKit.Search;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
using NPOI.SS.Formula.Functions;
|
using NPOI.SS.Formula.Functions;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
|
@ -17,8 +22,56 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[ApiExplorerSettings(GroupName = "Common")]
|
[ApiExplorerSettings(GroupName = "Common")]
|
||||||
public class EmailNoticeConfigService(IRepository<EmailNoticeConfig> _emailNoticeConfigrepository,
|
public class EmailNoticeConfigService(IRepository<EmailNoticeConfig> _emailNoticeConfigrepository,
|
||||||
IRepository<EmailNoticeUserType> _emailNoticeUserTypeRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IEmailNoticeConfigService
|
IRepository<EmailNoticeUserType> _emailNoticeUserTypeRepository,
|
||||||
|
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig,
|
||||||
|
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IEmailNoticeConfigService
|
||||||
{
|
{
|
||||||
|
private readonly SystemEmailSendConfig _systemEmailConfig = systemEmailConfig.CurrentValue;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取邮件列表
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<object> GetEmailList()
|
||||||
|
{
|
||||||
|
|
||||||
|
List<IMessageSummary> emailList = new List<IMessageSummary>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
using var client = new ImapClient();
|
||||||
|
await client.ConnectAsync(_systemEmailConfig.Host, 993, true);
|
||||||
|
await client.AuthenticateAsync(_systemEmailConfig.FromEmail, _systemEmailConfig.AuthorizationCode);
|
||||||
|
|
||||||
|
var personal = client.GetFolder(client.PersonalNamespaces[0]);
|
||||||
|
var sent = personal.GetSubfolders()
|
||||||
|
.First(f => new[] { "已发送邮件", "Sent", "Sent Messages" }
|
||||||
|
.Contains(f.Name, StringComparer.OrdinalIgnoreCase));
|
||||||
|
await sent.OpenAsync(FolderAccess.ReadOnly);
|
||||||
|
|
||||||
|
List<object> list= new List<object>();
|
||||||
|
for (int i = 0; i < sent.Count; i++)
|
||||||
|
{
|
||||||
|
var msg = await sent.GetMessageAsync(i);
|
||||||
|
list.Add(new {
|
||||||
|
Subject= msg.Subject,
|
||||||
|
From= msg.From.ToString(),
|
||||||
|
To = msg.To.ToString(),
|
||||||
|
TextBody = msg.TextBody ?? "",
|
||||||
|
HtmlBody = msg.HtmlBody ?? "",
|
||||||
|
Date = msg.Date.UtcDateTime
|
||||||
|
});
|
||||||
|
}
|
||||||
|
await client.DisconnectAsync(true);
|
||||||
|
return list;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<PageOutput<EmailNoticeConfigView>> GetEmailNoticeConfigList(EmailNoticeConfigQuery inQuery)
|
public async Task<PageOutput<EmailNoticeConfigView>> GetEmailNoticeConfigList(EmailNoticeConfigQuery inQuery)
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,13 @@ using IRaCIS.Core.Domain.Models;
|
||||||
using IRaCIS.Core.Domain.Share;
|
using IRaCIS.Core.Domain.Share;
|
||||||
using IRaCIS.Core.Infrastructure;
|
using IRaCIS.Core.Infrastructure;
|
||||||
using MailKit;
|
using MailKit;
|
||||||
|
using MailKit.Net.Imap;
|
||||||
|
using MailKit.Search;
|
||||||
|
using MailKit.Security;
|
||||||
using Medallion.Threading;
|
using Medallion.Threading;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using MimeKit;
|
using MimeKit;
|
||||||
using System.Net.Mail;
|
using System.Net.Mail;
|
||||||
|
|
@ -74,7 +78,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
Task AfterUserModifyPasswordSendEmailAsync(Guid userId);
|
Task AfterUserModifyPasswordSendEmailAsync(Guid userId);
|
||||||
}
|
}
|
||||||
|
[ApiExplorerSettings(GroupName = "Common")]
|
||||||
public class MailVerificationService(IRepository<VerificationCode> _verificationCodeRepository,
|
public class MailVerificationService(IRepository<VerificationCode> _verificationCodeRepository,
|
||||||
IRepository<SystemBasicData> _systemBasicDatarepository,
|
IRepository<SystemBasicData> _systemBasicDatarepository,
|
||||||
IRepository<VisitTask> _visitTaskRepository,
|
IRepository<VisitTask> _visitTaskRepository,
|
||||||
|
|
@ -89,6 +93,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
IRepository<UserType> _userTypeRepository,
|
IRepository<UserType> _userTypeRepository,
|
||||||
IRepository<Doctor> _doctorTypeRepository,
|
IRepository<Doctor> _doctorTypeRepository,
|
||||||
IRepository<Dictionary> _dictionaryRepository,
|
IRepository<Dictionary> _dictionaryRepository,
|
||||||
|
|
||||||
IRepository<EmailNoticeConfig> _emailNoticeConfigrepository,
|
IRepository<EmailNoticeConfig> _emailNoticeConfigrepository,
|
||||||
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig,
|
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig,
|
||||||
IDistributedLockProvider _distributedLockProvider, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IMailVerificationService
|
IDistributedLockProvider _distributedLockProvider, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IMailVerificationService
|
||||||
|
|
@ -96,9 +101,6 @@ namespace IRaCIS.Core.Application.Service
|
||||||
private readonly SystemEmailSendConfig _systemEmailConfig = systemEmailConfig.CurrentValue;
|
private readonly SystemEmailSendConfig _systemEmailConfig = systemEmailConfig.CurrentValue;
|
||||||
|
|
||||||
|
|
||||||
//public async Task<object> GetEmailList()
|
|
||||||
//{
|
|
||||||
//}
|
|
||||||
|
|
||||||
private async Task<EmailNoticeConfig> GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario scenario, MimeMessage messageToSend,
|
private async Task<EmailNoticeConfig> GetEmailSubejctAndHtmlInfoAndBuildAsync(EmailBusinessScenario scenario, MimeMessage messageToSend,
|
||||||
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailFunc)
|
Func<(string topicStr, string htmlBodyStr), (string topicStr, string htmlBodyStr)> emailFunc)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue