public async Task <EmailSentResult> SendEmailMessage(EmailMessage emailMessage, string userId) { EmailSentResult emailSentResult = new EmailSentResult() { Success = false }; try { var smtp = new SmtpClient { Host = _cityGlassEmailConfig.Host, Port = Convert.ToInt32(_cityGlassEmailConfig.Port), EnableSsl = Convert.ToBoolean(_cityGlassEmailConfig.Ssl), DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(_cityGlassEmailConfig.FromEmailAddress, _cityGlassEmailConfig.Password) }; using (var smtpMessage = new MailMessage(new MailAddress(_cityGlassEmailConfig.FromEmailAddress, _cityGlassEmailConfig.FromEmailAddressDisplayName) , new MailAddress(emailMessage.ReceiverEmail, emailMessage.ReceiverName))) { smtpMessage.Subject = emailMessage.Subject; smtpMessage.Body = emailMessage.Body; smtpMessage.IsBodyHtml = emailMessage.IsHtml; smtpMessage.Priority = MailPriority.High; smtpMessage.SubjectEncoding = Encoding.UTF8; smtpMessage.BodyEncoding = Encoding.UTF8; smtpMessage.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess; smtp.Send(smtpMessage); emailSentResult.Success = true; emailSentResult.Id = userId; smtp.Dispose(); } } catch (Exception ex) { emailSentResult.Ex = ex; } await Task.FromResult(0); return(emailSentResult); }
public EmailSentResult SendEmailMessage(EmailMessage emailMessage, string userId) { EmailConfiguration emailConfiguration = GetEmailConfiguration(); EmailSentResult emailSentResult = new EmailSentResult() { Success = false }; try { var smtp = new SmtpClient { Host = emailConfiguration.Host, Port = emailConfiguration.Port, EnableSsl = emailConfiguration.Ssl, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(emailConfiguration.FromEmailAddress, emailConfiguration.Password) }; using (var smtpMessage = new MailMessage(new MailAddress(emailConfiguration.FromEmailAddress, emailConfiguration.DisplayName), new MailAddress(emailMessage.ReceiverEmail, emailMessage.ReceiverName))) { smtpMessage.Subject = emailMessage.Subject; smtpMessage.Body = emailMessage.Body; smtpMessage.IsBodyHtml = emailMessage.IsHtml; smtpMessage.Priority = MailPriority.High; smtpMessage.SubjectEncoding = Encoding.UTF8; smtpMessage.BodyEncoding = Encoding.UTF8; smtpMessage.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess; smtp.Send(smtpMessage); emailSentResult.Success = true; emailSentResult.Id = userId; log.Info("EmailSenderManager - SendEmailMessage - Email send successfully for user id: " + userId + " email: " + emailMessage.ReceiverEmail); smtp.Dispose(); } } catch (Exception ex) { emailSentResult.Ex = ex; log.Error(Log4NetMessageHelper.FormateMessageForException(ex, "SendEmailMessage", emailMessage.ReceiverEmail)); } return(emailSentResult); }
public async Task <EmailSentResult> SendEmailMessageBySendGridAsync(List <EmailMessage> emailMessageList, string userId) { SendGridConfiguration sendGridConfiguration = GetSendGridConfiguration(); EmailSentResult emailSentResult = new EmailSentResult() { Success = false }; var emailMessage = emailMessageList.FirstOrDefault(); string receiverEmailList = String.Join(", ", emailMessageList); try { var apiKey = sendGridConfiguration.ApiKey; var client = new SendGridClient(apiKey); var sendGridMessage = new SendGridMessage() { From = new EmailAddress(sendGridConfiguration.FromEmailAddress, sendGridConfiguration.DisplayName), Subject = emailMessage.Subject, //PlainTextContent = string.Empty, HtmlContent = emailMessage.Body }; foreach (var item in emailMessageList) { sendGridMessage.AddTo(new EmailAddress(item.ReceiverEmail, item.ReceiverName)); } var response = await client.SendEmailAsync(sendGridMessage); if (response.StatusCode == HttpStatusCode.Accepted) { emailSentResult.Success = true; emailSentResult.Id = userId; log.Info("EmailSenderManager - SendEmailMessageBySendGridAsync - StatusCode: " + response.StatusCode + " - Email send successfully by SendGrid for user id: " + userId + " email list: " + receiverEmailList); } } catch (Exception ex) { emailSentResult.Ex = ex; log.Error(Log4NetMessageHelper.FormateMessageForException(ex, "SendEmailMessageBySendGridAsync", receiverEmailList)); } return(emailSentResult); }
public async Task <EmailSentResult> SendMail(IMail input) { var result = new EmailSentResult(); var resultSmtp = await SendViaSmtp(input.MailMessage); result.SentWithSmtp = resultSmtp; result.MailSent = resultSmtp; //If was sent via smtp just return if (resultSmtp) { return(result); } //Implement httpServices here if (result.SentWithHttp || result.SentWithSmtp) { result.MailSent = true; } return(result); }
public async Task <EmailSentResult> SendMail(IMail input) { var result = new EmailSentResult(); var resultSmtp = await SendViaSmtp(input.MailMessage); //Issue: https://github.com/periface/AbpCinotamZero-SmartAdmin/issues/91 result.SentWithSmtp = resultSmtp; //If was sent via smtp just return result.MailSent = resultSmtp; if (resultSmtp) { return(result); } if (result.SentWithHttp || result.SentWithSmtp) { result.MailSent = true; } return(result); }