/// <summary> /// Carga el archivo template desde una ruta /// </summary> /// <param name="filePathMaster">Ruta del archivo: debe tener [HTMLBODY] y [HTMLFOOTER] y usar "logo"</param> /// <param name="filePathLogo">Archivo del logo</param> public static MasterPageParameters LoadFromFile(string filePathMaster, string filePathLogo) { var result = new MasterPageParameters(File.ReadAllText(filePathMaster, Encoding.Default), filePathLogo); result.GeneerateAutoamticKeys(); return(result); }
/// <summary> /// Envía un correo electrónico con la información proporcionada /// </summary> public MailMessage CreateMessage(List <string> recipient, List <string> carbonCopy, List <string> blackCarbonCopy, string subject, string htmlBodyMessage, Dictionary <string, string> imagesAppendToView, IList <string> fileNames, MasterPageParameters masterpage) { var mailMessage = new MailMessage(); var resources = imagesAppendToView ?? new Dictionary <string, string>(); if (masterpage?.Resources != null && masterpage.Resources.Count > 0) { foreach (var x in masterpage.Resources) { resources.Add(x.Key, x.Value); } } var destinyListCleaned = SplitAndCleanRecipients(recipient); foreach (var destiny in destinyListCleaned) { mailMessage.To.Add(new MailAddress(destiny)); } var sestinyCarbonCopyCleande = SplitAndCleanRecipients(carbonCopy); foreach (var destiny in sestinyCarbonCopyCleande) { mailMessage.CC.Add(new MailAddress(destiny)); } var bcc = SplitAndCleanRecipients(blackCarbonCopy); foreach (var destiny in bcc) { mailMessage.Bcc.Add(new MailAddress(destiny)); } var titleinside = GetTagInfo(htmlBodyMessage, "title"); var bodyhtml = masterpage == null ? htmlBodyMessage : MergeMasterPageMail(masterpage.Masterpage, htmlBodyMessage); mailMessage.Subject = string.IsNullOrEmpty(titleinside) ? subject : titleinside; mailMessage.IsBodyHtml = true; mailMessage.Body = bodyhtml; mailMessage.From = new MailAddress(From); if (fileNames != null) { AttachFiles(mailMessage, fileNames); } if (resources.Count > 0) { mailMessage.AlternateViews.Add(LinkedFiles(bodyhtml, resources)); } return(mailMessage); }
/// <summary> /// Envía un correo electrónico con la información proporcionada /// </summary> public async Task SendMailAsync(List <string> recipient, List <string> carbonCopy, List <string> blackCarbonCopy, string subject, string htmlBodyMessage, Dictionary <string, string> imagesAppendToView, IList <string> fileNames, MasterPageParameters masterpage) { if (Convert.ToBoolean(ConfigurationManager.AppSettings["MailSendEnable"])) { var message = CreateMessage(recipient, carbonCopy, blackCarbonCopy, subject, htmlBodyMessage, imagesAppendToView, fileNames, masterpage); await Client.SendMailAsync(message); } }
/// <summary> /// Carga el archivo template desde una ruta /// </summary> /// <param name="filePathMaster">Ruta del archivo: debe tener [HTMLBODY] y [HTMLFOOTER] y usar "logo"</param> /// <param name="filePathLogo">Archivo del logo</param> public static MasterPageParameters LoadFromFile(string filePathMaster, string filePathLogo) { MasterPageParameters result; if (filePathMaster.Contains("~")) { result = new MasterPageParameters(File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath(filePathMaster), Encoding.Default), System.Web.HttpContext.Current.Server.MapPath(filePathLogo)); } else { result = new MasterPageParameters(File.ReadAllText(filePathMaster, Encoding.Default), filePathLogo); } //var //result.GeneerateAutoamticKeys(); //return result; result.GeneerateAutoamticKeys(); return(result); }
/// <summary> /// Carga el template html y la imagen a utilizar como logo al momento de enviar un correo /// </summary> /// <param name="masterPageAbsolutePath">Ruta de donde cargar el template del correo</param> /// <param name="logoAbsolutePath">Ruta de donde cargar la imagen del logo del correo</param> public void SetMasterPage(string masterPageAbsolutePath, string logoAbsolutePath) { _masterpage = MasterPageParameters.LoadFromFile(masterPageAbsolutePath, logoAbsolutePath); }
public void SendMailAsync(string senTomail, string subject, string body, string masterPageAbsolutePath, string logoAbsolutePath) { SendMailAsync(new List <string> { senTomail }, null, null, subject, body, null, null, MasterPageParameters.LoadFromFile(masterPageAbsolutePath, logoAbsolutePath)); }