private Task EnviarCorreoDeAsync(CorreoDtm correoDtm)
        {
            var    archivos   = correoDtm.Archivos.JsonToLista <string>();
            var    receptores = correoDtm.Receptores.JsonToLista <string>();
            string cuerpo     = AdjuntarElementos(correoDtm);

            var manejador = new ManejadorDeCorreo
            {
                CorreoDtm      = correoDtm,
                Contexto       = ContextoSe.ObtenerContexto(Contexto),
                GestorDeCorreo = typeof(GestorDeCorreos)
            };

            EnviarCorreoDe(CacheDeVariable.Cfg_ServidorDeCorreo, correoDtm.Emisor, receptores, correoDtm.Asunto, cuerpo, true, archivos, manejador);

            return(Task.FromResult(new ResultadoDelProceso(true)));
        }
Beispiel #2
0
 internal void EnviarPara(List <string> receptores, string asunto, string mensaje, bool esHtlm, List <string> archivos, ManejadorDeCorreo manejador)
 {
     EnviarDe(Emisor, receptores, asunto, mensaje, esHtlm, archivos, manejador);
 }
Beispiel #3
0
        internal void EnviarDe(string emisor, List <string> receptores, string asunto, string mensaje, bool esHtlm, List <string> archivos, ManejadorDeCorreo manejador)
        {
            if (Sistema != "EMUASA" && Sistema != "GMAIL")
            {
                throw new Exception($"Sistema de correo {Sistema} no definido");
            }

            var destinos = receptores.ToString(";");

            if (destinos.IsNullOrEmpty())
            {
                throw new Exception($"No se ha definido el destinatario del correo {asunto}");
            }

            MailMessage email = new MailMessage(new MailAddress(emisor), new MailAddress(destinos))
            {
                BodyEncoding    = System.Text.Encoding.UTF8,
                IsBodyHtml      = esHtlm,
                SubjectEncoding = System.Text.Encoding.UTF8,
                Subject         = asunto,
                Body            = mensaje.Replace("\n", "<br/>")
            };

            if (archivos != null)
            {
                foreach (var archivo in archivos)
                {
                    var attach = new Attachment(archivo);
                    email.Attachments.Add(attach);
                }
            }

            SmtpCliente.SendCompleted += new SendCompletedEventHandler(despuesDeEnviarElCorreo);

            SmtpCliente.SendAsync(email, manejador);
        }
Beispiel #4
0
        public static void EnviarCorreoDe(string servidor, string emisor, List <string> receptores, string asunto, string mensaje, bool esHtlm = true, List <string> archivos = null, ManejadorDeCorreo manejador = null)
        {
            var servicio = new ServicioDeCorreo(servidor);

            servicio.EnviarDe(emisor, receptores, asunto, mensaje, esHtlm, archivos, manejador);
        }