Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
 /// <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));
 }