public async Task SendEmail(EmailSendingRequest emailSendingRequest) { //using (var client = new SmtpClient //{ // Port = settings.Value.Port, // DeliveryMethod = SmtpDeliveryMethod.Network, // EnableSsl = settings.Value.EnableSsl, // Host = settings.Value.Host, // UseDefaultCredentials = false, // Credentials = new NetworkCredential(settings.Value.MailSenderUserName, settings.Value.MailAccountPassword) //}) //{ // using (MailMessage mail = new MailMessage // { // IsBodyHtml = @event.IsBodyHtml, // Subject = @event.Subject, // Body = @event.Body // }) // { // mail.From = new MailAddress(settings.Value.MailSenderAddress, settings.Value.MailSenderName); // mail.To.Add(new MailAddress(@event.To.First())); // if (string.IsNullOrWhiteSpace(@event.ReplyTo) == false) // { // mail.ReplyToList.Add(@event.ReplyTo); // } // Console.WriteLine("Sending email to: {0} using {1}", @event.To.First(), settings.Value.MailSenderAddress); // Console.WriteLine(@event.Body); // await client.SendMailAsync(mail); // } //} }
public async Task Handle(EmailNeedsToBeSentIntegrationEvent @event) { EmailSendingRequest emailSendingRequest = new EmailSendingRequest() { EmailMessage = new EmailMessage() { Subject = @event.Subject, Body = @event.Body }, Recipient = new Recipient() { Email = @event.To.First() }, Sender = new Sender { Email = @event.FromEmail, FromName = @event.FromName, }, MergeFields = @event.MergeFields, TemplateId = @event.TemplateId }; await emailMessageSender.SendEmail(emailSendingRequest); }