public void Send(IEmailContent email) { MailMessage mailmsg = new MailMessage(); IEnumerable<MailAddress> rec = email.GetReceivers(); if (rec == null || !rec.Any()) return; rec.Each(mailmsg.To.Add); var cc = email.GetCCReceivers(); if (cc != null) { cc.Each(mailmsg.CC.Add); } var bcc = email.GetBCCReceivers(); if (bcc != null) { bcc.Each(mailmsg.Bcc.Add); } var attachments = email.GetAttachments(); if (attachments != null) { attachments.Each(mailmsg.Attachments.Add); } mailmsg.Subject = email.GetSubject(); mailmsg.Body = email.GetBody(); mailmsg.BodyEncoding = Encoding.UTF8; mailmsg.IsBodyHtml = email.IsBodyHtml(); mailmsg.From = email.GetSender(); mailmsg.Priority = MailPriority.Normal; var smtp = email.GetSmtpClient(); smtp.Send(mailmsg); mailmsg.Attachments.Each(m => m.Dispose()); mailmsg.Dispose(); smtp.Dispose(); email.OnSendComplete(email); }
public AccountEmailFactory(IEmailFactory emailFactory, IEmailConfiguration emailConfiguration, IAccountRepository accountRepository, IUnregisteredUserRepository unregisteredUserRepository, IEmailContent emailContent) { _emailFactory = emailFactory; _emailConfiguration = emailConfiguration; _accountRepository = accountRepository; _unregisteredUserRepository = unregisteredUserRepository; _emailContent = emailContent; }
public Task <IEmailResponse> SendSingleEmailAsync(IEmailContent email) { var breaker = Environment.NewLine; _logger.LogInformation( $"Email was sent{breaker}" + $"Subject: {email.Subject}{breaker}" + $"Recipients: {email.Recipients.Count}{breaker}" + $"Cc: {email.Cc.Count}{breaker}" + $"Bcc: {email.HiddenCc.Count}{breaker}"); return(Task.FromResult((IEmailResponse) new LocalEmailResponse())); }
public SurveyEmailFactory(IEmailConfiguration emailConfiguration, IEmailFactory emailFactory, IAccountRepository accountRepository, ISurveyUserIdentifierService surveyUserIdentifierService, IUnregisteredUserRepository unregisteredUserRepository, IEmailContent emailContent) { _surveyUserIdentifierService = surveyUserIdentifierService; _emailConfiguration = emailConfiguration; _emailFactory = emailFactory; _accountRepository = accountRepository; _unregisteredUserRepository = unregisteredUserRepository; _emailContent = emailContent; }
private SendGridMessage Message(IEmailContent email) { SendGridMessage msg = MailHelper.CreateSingleEmailToMultipleRecipients( @from: new EmailAddress(email.From), tos: email.Recipients.Select(x => new EmailAddress(x)).ToList(), subject: email.Subject, plainTextContent: string.Empty, htmlContent: email.Body); if (email.Cc.Any()) { msg.AddCcs(email.Cc.Select(x => new EmailAddress(x)).ToList()); } return(msg); }
public void Send(IEmailContent email) { MailMessage mailmsg = new MailMessage(); IEnumerable <MailAddress> rec = email.GetReceivers(); if (rec == null || !rec.Any()) { return; } rec.Each(mailmsg.To.Add); var cc = email.GetCCReceivers(); if (cc != null) { cc.Each(mailmsg.CC.Add); } var bcc = email.GetBCCReceivers(); if (bcc != null) { bcc.Each(mailmsg.Bcc.Add); } var attachments = email.GetAttachments(); if (attachments != null) { attachments.Each(mailmsg.Attachments.Add); } mailmsg.Subject = email.GetSubject(); mailmsg.Body = email.GetBody(); mailmsg.BodyEncoding = Encoding.UTF8; mailmsg.IsBodyHtml = email.IsBodyHtml(); mailmsg.From = email.GetSender(); mailmsg.Priority = MailPriority.Normal; var smtp = email.GetSmtpClient(); smtp.Send(mailmsg); mailmsg.Attachments.Each(m => m.Dispose()); mailmsg.Dispose(); smtp.Dispose(); email.OnSendComplete(email); }
public async Task <Response> SendSingleEmailAsync(IEmailContent email) { email.ThrowIfNull(nameof(email)); return(await _client.SendEmailAsync(Message(email))); }
public virtual void OnSendComplete(IEmailContent content) { }
public EmailTemplate(IEmailContent content) { _content = content; }
public Task <IEmailResponse> SendSingleEmailAsync(IEmailContent email) { return(Task.FromResult((IEmailResponse) new LocalEmailResponse())); }