public async Task <IActionResult> SendMail([FromBody] Mail_Request request) { try { JobCardV3 jobCard = _dataRepository.Get(new Guid(request.JobCardID)); await mailService.SendEmailAsync(request, jobCard); return(Ok()); } catch (Exception ex) { throw; } }
public async Task SendEmailAsync(Mail_Request mail_Request, JobCardV3 jobCard) { MailMessage message = new MailMessage(); SmtpClient smtp = new SmtpClient(); message.From = new MailAddress(_mailSettings.Mail, _mailSettings.DisplayName); /*"toEmail": "*****@*****.**", * "subject": "astroids", * "jobCardID": null, * "body": "lekker astroids for light years!!!" */ mail_Request.Body = "lekker astroids for light years!!!"; mail_Request.Subject = "astroids"; /// TO EMAIL mail_Request.ToEmail = "*****@*****.**"; message.To.Add(new MailAddress(mail_Request.ToEmail)); message.Subject = mail_Request.Subject; // Input data from jobcard into html template ProcessDataIntoHtml(jobCard); // Convert HTML template into PDF CreatePDFFromHTMLTemplate(); // Unprocess the HTML for template ready phase UnprocessDataFromHtml(jobCard); // attach PDF Attachment att = new Attachment("SimpleConversionLocalHtml.pdf"); message.Attachments.Add(att); message.IsBodyHtml = false; message.Body = mail_Request.Body; smtp.Port = _mailSettings.Port; smtp.Host = _mailSettings.Host; smtp.EnableSsl = false; smtp.UseDefaultCredentials = false; _mailSettings.Mail = "*****@*****.**"; _mailSettings.Password = "******"; smtp.Credentials = new NetworkCredential(_mailSettings.Mail, _mailSettings.Password); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //await smtp.SendMailAsync(message); // Build a PDF file and save it on disk from a job card //Converter.Convert(new Uri("https://www.google.com"), "SimpleConversion.pdf"); //ceTe.DynamicPDF.HtmlConverter.Converter.Convert(new Uri("https://www.google.com"), "SimpleConversion.pdf"); //ceTe.DynamicPDF.HtmlConverter.Converter.Convert(new Uri("HTML/index.html"), "SimpleConversionLocalHtml.pdf"); /* * if (mail_Request.Attachments != null) * { * foreach (var file in mail_Request.Attachments) * { * if (file.Length > 0) * { * using (var ms = new MemoryStream()) * { * file.CopyTo(ms); * var fileBytes = ms.ToArray(); * Attachment att = new Attachment(new MemoryStream(fileBytes), file.FileName); * message.Attachments.Add(att); * } * } * } * } */ }