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); }
/// <inheritdoc /> protected override void Dispose(bool disposing) { // First flush the buffer base.Dispose(disposing); if (disposing) { _client.Dispose(); } }
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); }
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(); } } }
protected override void DisposeManagedResources() { base.DisposeManagedResources(); _client.Dispose(); }
public void Dispose() { _Client.Dispose(); //throw new NotImplementedException(); }
public void Dispose() { _client?.Dispose(); }
protected override void DisposeServices() { _simpleEmailClient?.Dispose(); }