public SendNotificationResult SendNotification(Notification notification) { var retVal = new SendNotificationResult(); try { MailMessage mailMsg = new MailMessage(); //To email mailMsg.To.Add(new MailAddress(notification.Recipient)); //From email mailMsg.From = new MailAddress(notification.Sender); mailMsg.ReplyToList.Add(mailMsg.From); mailMsg.Subject = notification.Subject; mailMsg.Body = notification.Body; mailMsg.IsBodyHtml = true; var login = _settingsManager.GetSettingByName(_smtpClientLoginSettingName).Value; var password = _settingsManager.GetSettingByName(_smtpClientPasswordSettingName).Value; var host = _settingsManager.GetSettingByName(_smtpClientHostSettingName).Value; var port = _settingsManager.GetSettingByName(_smtpClientPortSettingName).Value; var useSsl = _settingsManager.GetValue(_smtpClientUseSslSettingName, false); SmtpClient smtpClient = new SmtpClient(host, Convert.ToInt32(port)); System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(login, password); smtpClient.Credentials = credentials; smtpClient.EnableSsl = useSsl; smtpClient.Send(mailMsg); retVal.IsSuccess = true; } catch (Exception ex) { retVal.ErrorMessage = ex.Message + ex.InnerException; } return retVal; }
public SendNotificationResult SendNotification(Notification notification) { var retVal = new SendNotificationResult(); var mail = new SendGridMessage(); mail.From = new MailAddress(notification.Sender); mail.ReplyTo = new[] { mail.From }; mail.AddTo(notification.Recipient); mail.Subject = notification.Subject; mail.Html = notification.Body; var userName = _settingsManager.GetSettingByName(_sendGridUserNameSettingName).Value; var password = _settingsManager.GetSettingByName(_sendGridPasswordSettingName).Value; var credentials = new NetworkCredential(userName, password); var transportWeb = new Web(credentials); try { Task.Run(async () => await transportWeb.DeliverAsync(mail)).Wait(); retVal.IsSuccess = true; } catch (Exception ex) { retVal.ErrorMessage = ex.Message; var invalidApiRequestException = ex.InnerException as InvalidApiRequestException; if (invalidApiRequestException != null) { if (invalidApiRequestException.Errors != null && invalidApiRequestException.Errors.Length > 0) { retVal.ErrorMessage = string.Join(" ", invalidApiRequestException.Errors); } } } return retVal; }