erp-platform/api/modules/Erp.Sender/Mail/AmazonSes/DefaultAmazonSesClientFactory.cs
2025-11-11 22:49:52 +03:00

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);
}
}