예제 #1
0
 public async Task SendEmail(string body)
 {
     var client      = _smtpClientFactory.Create(Constants.Host, Constants.Port, Constants.UserName, Constants.Password);
     var mailMessage = _mailMessageFactory.Create(Constants.From, Constants.To, Constants.Subject,
                                                  $"{Constants.Body}{body}");
     await client.SendMailAsync(mailMessage);
 }
예제 #2
0
        public bool Send(EmailItem emailItem)
        {
            var mail = _factory.Create(emailItem.DstAddress.Address, emailItem.Subject, emailItem.Text);

            Log.TraceFormat("Email {@mail} sended. Host: {_smtpHost} port: {_smtpPort}", mail, _smtpHost, _smtpPort);
            return(true);
        }
예제 #3
0
        public EmailNotificationResponse Send(EmailNotificationRequest request)
        {
            var response = new EmailNotificationResponse();

            try
            {
                using (var mail = _mailMessageFactory.Create(request))
                    using (var client = new SmtpClient())
                    {
                        client.Send(mail);
                    }

                response.IsSent = true;
            }
            catch (Exception e)
            {
                response.Message = e.Message;
                Log.Error($"Email failed to: {request.To}. Subject: {request.Subject}", e);
            }

            return(response);
        }
예제 #4
0
        public EmailNotificationResponse Send(EmailNotificationRequest request)
        {
            try
            {
                var mailGunRequest = _mailMessageFactory.Create(request);
                var response       = _mailGunClient.SendMail(mailGunRequest);

                return(new EmailNotificationResponse
                {
                    IsSent = true,
                    Message = response.Message
                });
            }
            catch (Exception ex)
            {
                Log.Error($"Email failed to: {request.To}. Subject: {request.Subject}.", ex);

                return(new EmailNotificationResponse
                {
                    Message = ex.Message
                });
            }
        }
 public PostmarkMessage Create(EmailNotificationRequest request)
 {
     return(_mailMessageFactory.Create(request).ToPostmarkMessage());
 }