private void UpdateEmail(OutboundEmailDetail email, bool sendSuccesful) { email.OutboundEmail.DateSent = DateTime.Now; email.OutboundEmail.Attempts++; email.OutboundEmail.EmailStatusId = sendSuccesful ? (int)EmailStatuses.Sent : (int)EmailStatuses.Failed; _dataRepositoryFactory.Create <IOutboundEmailRepository>().DetachAndUpdate(email.OutboundEmail.OutboundEmailId, email.OutboundEmail); }
private bool SendEmail(OutboundEmailDetail email, SmtpClient smtpClient) { using (var mail = CreateMailMessage(email)) { smtpClient.Send(mail); }; return(true); }
public SmtpClient ConfigureSmtpClient(OutboundEmailDetail email) { return(new SmtpClient(_smtpServer) { Port = _serverPort, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(_sender, _password), EnableSsl = _enableSsl }); }
private MailMessage CreateMailMessage(OutboundEmailDetail detail) { var email = detail.OutboundEmail; var message = new MailMessage { Subject = email.Subject, // Body = email.Body, IsBodyHtml = email.IsHtml }; foreach (var recipient in email.OutboundRecipients) { message.To.Add(recipient.RecipientEmail); } foreach (var dbAttachment in email.OutboundAttachments) { var attachment = new Attachment(dbAttachment.FilePath); message.Attachments.Add(attachment); } var view = AlternateView.CreateAlternateViewFromString(email.Body, null, "text/html"); if (email.OutboundImages != null && email.OutboundImages.Count > 0) { foreach (var image in email.OutboundImages) { var inlineLogo = new LinkedResource(image.FilePath) { ContentId = Path.GetFileNameWithoutExtension(image.FilePath) }; view.LinkedResources.Add(inlineLogo); } } message.AlternateViews.Add(view); var from = _emailConfigurator.ConfigureMailAddress(detail); message.From = from; return(message); }
public MailAddress ConfigureMailAddress(OutboundEmailDetail email) { return(new MailAddress(_sender, email.Sender)); }