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