Ejemplo n.º 1
0
        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);
        }