public FeedbackController(IFeedbackRepository feedbackRepository, IOptions <EmailSettings> emailSettings, IFeedbackValidator feedbackValidator) { _feedbackRepository = feedbackRepository; _feedbackValidator = feedbackValidator; emailConfigDetail = new EmailConfigDetail(); this.emailSettings = emailSettings.Value; emailConfigDetail.FromMailId = this.emailSettings.FromAddress; emailConfigDetail.HostAddress = this.emailSettings.HostServer; }
public string GenerateEmail(EmailConfigDetail emailConfig) { MailMessage mailMessage = new MailMessage(); try { if (emailConfig != null) { FromMailId = emailConfig.FromMailId; ToMailId = emailConfig.ToMailId; HostAddress = emailConfig.HostAddress; Body = emailConfig.Body; Subject = emailConfig.Subject; AttachmentFilePath = emailConfig.AttachmentFilePath; } mailMessage.To.Add(ToMailId); mailMessage.From = new MailAddress(FromMailId); mailMessage.Subject = Subject; mailMessage.Body = Body; mailMessage.IsBodyHtml = true; if (!string.IsNullOrWhiteSpace(AttachmentFilePath)) { Attachment attachment = new Attachment(AttachmentFilePath, MediaTypeNames.Application.Pdf); //ContentDisposition disposition = attachment.ContentDisposition; string guid = attachment.Name.Split('_')[2]; attachment.Name = attachment.Name.Replace('_' + guid, string.Empty); mailMessage.Attachments.Add(attachment); } SmtpClient smtp = new SmtpClient(); smtp.Host = HostAddress; smtp.Credentials = new System.Net.NetworkCredential(); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.EnableSsl = true; ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); }; smtp.Send(mailMessage); DisposeMailAttachments(mailMessage); retVal = "Email sent successfully"; return(retVal); } catch (Exception ex) { DisposeMailAttachments(mailMessage); throw ex; } finally { DisposeMailAttachments(mailMessage); } }
public string SendEmail(EmailConfigDetail emailConfig, string feedbackType) { EmailDetail email = new EmailDetail(); string output = ""; var emailContents = _feedbackRepository.GetFeedbackOptionsList(feedbackType); emailConfig.ToMailId = "*****@*****.**"; emailConfig.Subject = feedbackType; emailConfig.Body = ""; output = email.GenerateEmail(emailConfig); return(output); }