diff --git a/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitConfiguration.cs b/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitOptions.cs similarity index 51% rename from framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitConfiguration.cs rename to framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitOptions.cs index 49091b8c82..8810d9e559 100644 --- a/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitConfiguration.cs +++ b/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitOptions.cs @@ -2,8 +2,13 @@ namespace Volo.Abp.MailKit { - public class AbpMailKitConfiguration : IAbpMailKitConfiguration + public class AbpMailKitOptions { public SecureSocketOptions? SecureSocketOption { get; set; } + + public AbpMailKitOptions() + { + SecureSocketOption = null; + } } } diff --git a/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/IAbpMailKitConfiguration.cs b/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/IAbpMailKitConfiguration.cs deleted file mode 100644 index c590db3774..0000000000 --- a/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/IAbpMailKitConfiguration.cs +++ /dev/null @@ -1,9 +0,0 @@ -using MailKit.Security; - -namespace Volo.Abp.MailKit -{ - public interface IAbpMailKitConfiguration - { - SecureSocketOptions? SecureSocketOption { get; set; } - } -} diff --git a/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/MailKitSmtpEmailSender.cs b/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/MailKitSmtpEmailSender.cs index 5213a7b7f5..426be33c80 100644 --- a/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/MailKitSmtpEmailSender.cs +++ b/framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/MailKitSmtpEmailSender.cs @@ -6,6 +6,7 @@ using Volo.Abp.Emailing; using Volo.Abp.Emailing.Smtp; using MailKit.Security; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using MimeKit; using Volo.Abp.Threading; using SmtpClient = MailKit.Net.Smtp.SmtpClient; @@ -15,16 +16,16 @@ namespace Volo.Abp.MailKit [Dependency(ServiceLifetime.Transient, ReplaceServices = true)] public class MailKitSmtpEmailSender : EmailSenderBase, IMailKitSmtpEmailSender { - protected IAbpMailKitConfiguration AbpMailKitConfiguration { get; } + protected AbpMailKitOptions AbpMailKitOptions { get; } protected ISmtpEmailSenderConfiguration SmtpConfiguration { get; } public MailKitSmtpEmailSender(ISmtpEmailSenderConfiguration smtpConfiguration, IBackgroundJobManager backgroundJobManager, - IAbpMailKitConfiguration abpMailKitConfiguration) + IOptions abpMailKitConfiguration) : base(smtpConfiguration, backgroundJobManager) { - AbpMailKitConfiguration = abpMailKitConfiguration; + AbpMailKitOptions = abpMailKitConfiguration.Value; SmtpConfiguration = smtpConfiguration; } @@ -82,11 +83,12 @@ namespace Volo.Abp.MailKit await SmtpConfiguration.GetPasswordAsync() ); } + protected virtual async Task GetSecureSocketOption() { - if (AbpMailKitConfiguration.SecureSocketOption.HasValue) + if (AbpMailKitOptions.SecureSocketOption.HasValue) { - return AbpMailKitConfiguration.SecureSocketOption.Value; + return AbpMailKitOptions.SecureSocketOption.Value; } return await SmtpConfiguration.GetEnableSslAsync() diff --git a/framework/test/Volo.Abp.MailKit.Tests/Volo/Abp/MailKit/MailKitSmtpEmailSender_Tests.cs b/framework/test/Volo.Abp.MailKit.Tests/Volo/Abp/MailKit/MailKitSmtpEmailSender_Tests.cs index 3af4f7e50b..8404b8df4e 100644 --- a/framework/test/Volo.Abp.MailKit.Tests/Volo/Abp/MailKit/MailKitSmtpEmailSender_Tests.cs +++ b/framework/test/Volo.Abp.MailKit.Tests/Volo/Abp/MailKit/MailKitSmtpEmailSender_Tests.cs @@ -33,16 +33,15 @@ namespace Volo.Abp.MailKit private static MailKitSmtpEmailSender CreateMailKitEmailSender() { var mailConfig = Substitute.For(); - var mailKitConfig = Substitute.For(); var bgJob = Substitute.For(); - mailConfig.GetHostAsync().Returns("stmp_server_name"); - mailConfig.GetUserNameAsync().Returns("mail_server_user_name"); - mailConfig.GetPasswordAsync().Returns("mail_server_password"); - mailConfig.GetPortAsync().Returns(587); - mailConfig.GetEnableSslAsync().Returns(false); + mailConfig.GetHostAsync().Returns(Task.FromResult("stmp_server_name")); + mailConfig.GetUserNameAsync().Returns(Task.FromResult("mail_server_user_name")); + mailConfig.GetPasswordAsync().Returns(Task.FromResult("mail_server_password")); + mailConfig.GetPortAsync().Returns(Task.FromResult(587)); + mailConfig.GetEnableSslAsync().Returns(Task.FromResult(false)); - var mailSender = new MailKitSmtpEmailSender(mailConfig, bgJob, mailKitConfig); + var mailSender = new MailKitSmtpEmailSender(mailConfig, bgJob, null); return mailSender; } }