Exemplo n.º 1
0
        public async Task <EmailResponse> SendEmailWithTemplate(EmailTemplateRequest emailWithTemplateRequest)
        {
            EmailResponse emailResponse = new EmailResponse();

            using var client = new AmazonSimpleEmailServiceClient(EmailConfiguration.AccessKeyId, EmailConfiguration.AccessSecretKey, RegionEndpoint.USEast1);

            var sendRequest = new SendTemplatedEmailRequest
            {
                Source      = EmailConfiguration.SenderAddress,
                Destination = new Destination
                {
                    ToAddresses = emailWithTemplateRequest.Receivers
                },
                Template     = emailWithTemplateRequest.Template,
                TemplateData = JsonSerializer.Serialize(emailWithTemplateRequest.Data)
            };

            try
            {
                await client.SendTemplatedEmailAsync(sendRequest);

                emailResponse.Success = true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("The email was not sent.");
                Console.WriteLine("Error message: " + ex.Message);
                emailResponse.Success = false;
            }

            client.Dispose();

            return(emailResponse);
        }
Exemplo n.º 2
0
        /// <inheritdoc />
        protected override void Dispose(bool disposing)
        {
            // First flush the buffer
            base.Dispose(disposing);

            if (disposing)
            {
                _client.Dispose();
            }
        }
Exemplo n.º 3
0
        public async Task <EmailResponse> SendEmail(EmailRequest emailRequest)
        {
            EmailResponse emailResponse = new EmailResponse();

            using var client = new AmazonSimpleEmailServiceClient(EmailConfiguration.AccessKeyId, EmailConfiguration.AccessSecretKey, RegionEndpoint.USEast2);

            var sendRequest = new SendEmailRequest
            {
                Source      = EmailConfiguration.SenderAddress,
                Destination = new Destination
                {
                    ToAddresses = emailRequest.Receivers
                },
                Message = new Message
                {
                    Subject = new Content(emailRequest.Subject),
                    Body    = new Body
                    {
                        Html = new Content
                        {
                            Charset = "UTF-8",
                            Data    = emailRequest.HtmlBody
                        },
                        Text = new Content
                        {
                            Charset = "UTF-8",
                            Data    = emailRequest.TextBody
                        }
                    }
                }
            };

            try
            {
                await client.SendEmailAsync(sendRequest);

                emailResponse.Success = true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("The email was not sent.");
                Console.WriteLine("Error message: " + ex.Message);
                emailResponse.Success = false;
            }
            finally
            {
                client.Dispose();
            }

            return(emailResponse);
        }
Exemplo n.º 4
0
        protected override async Task <IResponse> SendEmailAsync(IEmail email)
        {
            SendTemplatedEmailResponse response;
            IResponse res = new Response {
                Success = true
            };
            List <string> ToAddresses = new List <string>();

            using (var client = new AmazonSimpleEmailServiceClient(
                       _settings.GetConfigSetting <string>(SettingKeys.Messaging.Aws.Ses.AccessKey),
                       _settings.GetConfigSetting <string>(SettingKeys.Messaging.Aws.Ses.SecretKey),
                       RegionEndpoint.USWest2))
            {
                SendTemplatedEmailRequest sendTemplatedEmail
                    = new SendTemplatedEmailRequest
                    {
                    Source      = email.From,
                    Destination = new Destination
                    {
                        ToAddresses =
                            new List <string> {
                            email.To
                        }
                    },
                    Template             = email.TemplateName,
                    ConfigurationSetName = String.IsNullOrEmpty(email.ConfigurationSetName) ? "" : email.ConfigurationSetName,
                    TemplateData         = JsonConvert.SerializeObject(email.Variables)
                    };

                try
                {
                    response = await client.SendTemplatedEmailAsync(sendTemplatedEmail);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                string result = response.HttpStatusCode.ToString();
                client.Dispose();
                if (result == "OK")
                {
                    return(res);
                }
                else
                {
                    throw new NotImplementedException();
                }
            }
        }
Exemplo n.º 5
0
 protected override void DisposeManagedResources()
 {
     base.DisposeManagedResources();
     _client.Dispose();
 }
Exemplo n.º 6
0
 public void Dispose()
 {
     _Client.Dispose();
     //throw new NotImplementedException();
 }
 public void Dispose()
 {
     _client?.Dispose();
 }
 protected override void DisposeServices()
 {
     _simpleEmailClient?.Dispose();
 }