25 lines
1,020 B
C#
25 lines
1,020 B
C#
using Amazon;
|
|
using Amazon.SimpleEmailV2;
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
namespace Erp.Sender.Mail.AmazonSes;
|
|
|
|
public class DefaultAmazonSesClientFactory : IAmazonSesClientFactory, ITransientDependency
|
|
{
|
|
private readonly IAmazonSesEmailSenderConfiguration amazonSesEmailSenderConfiguration;
|
|
|
|
public DefaultAmazonSesClientFactory(IAmazonSesEmailSenderConfiguration amazonSesEmailSenderConfiguration)
|
|
{
|
|
this.amazonSesEmailSenderConfiguration = amazonSesEmailSenderConfiguration;
|
|
}
|
|
|
|
public async Task<AmazonSimpleEmailServiceV2Client> GetAmazonSesClient()
|
|
{
|
|
var accessKey = await amazonSesEmailSenderConfiguration.GetAccessKeyAsync();
|
|
var accessKeyId = await amazonSesEmailSenderConfiguration.GetAccessKeyIdAsync();
|
|
var region = await amazonSesEmailSenderConfiguration.GetRegionAsync();
|
|
var regionEndPoint = RegionEndpoint.GetBySystemName(region);
|
|
return new AmazonSimpleEmailServiceV2Client(accessKeyId, accessKey, regionEndPoint);
|
|
}
|
|
}
|
|
|