Browse Source

Refactor

pull/1463/head
Yunus Emre Kalkan 7 years ago
parent
commit
cd690f52b0
  1. 7
      framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitOptions.cs
  2. 9
      framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/IAbpMailKitConfiguration.cs
  3. 12
      framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/MailKitSmtpEmailSender.cs
  4. 13
      framework/test/Volo.Abp.MailKit.Tests/Volo/Abp/MailKit/MailKitSmtpEmailSender_Tests.cs

7
framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/AbpMailKitConfiguration.cs → 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;
}
}
}

9
framework/src/Volo.Abp.MailKit/Volo/Abp/MailKit/IAbpMailKitConfiguration.cs

@ -1,9 +0,0 @@
using MailKit.Security;
namespace Volo.Abp.MailKit
{
public interface IAbpMailKitConfiguration
{
SecureSocketOptions? SecureSocketOption { get; set; }
}
}

12
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<AbpMailKitOptions> 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<SecureSocketOptions> GetSecureSocketOption()
{
if (AbpMailKitConfiguration.SecureSocketOption.HasValue)
if (AbpMailKitOptions.SecureSocketOption.HasValue)
{
return AbpMailKitConfiguration.SecureSocketOption.Value;
return AbpMailKitOptions.SecureSocketOption.Value;
}
return await SmtpConfiguration.GetEnableSslAsync()

13
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<ISmtpEmailSenderConfiguration>();
var mailKitConfig = Substitute.For<IAbpMailKitConfiguration>();
var bgJob = Substitute.For<IBackgroundJobManager>();
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;
}
}

Loading…
Cancel
Save