Exemple #1
0
        protected Resultado <bool> EnviarEmail(ComandoMail comando)
        {
            var resultado = new Resultado <bool>();

            try
            {
                if (!comando.Validar())
                {
                    resultado.Error = "Error con el comando";
                    return(resultado);
                }

                comando.Encode();

                MailMessage message = new MailMessage();
                message.To.Add(comando.ReceptorMail);

                //Mando el mail
                message.Subject = comando.Asunto;
                if (string.IsNullOrEmpty(comando.Contenido))
                {
                    message.Body = "";
                }
                else
                {
                    message.Body = comando.Contenido;
                }

                if (comando.EsHtml)
                {
                    message.IsBodyHtml = true;
                }


                if (comando.Adjuntos != null)
                {
                    comando.Adjuntos.ForEach(x => message.Attachments.Add(new Attachment(new MemoryStream(x.Data), x.Nombre)));
                }

                //Prioridad
                message.Priority = MailPriority.Normal;

                Task.Run(async() => await SendEmail(message));

                resultado.Return = true;
            }
            catch (Exception e)
            {
                resultado.InfoError = e;
            }

            return(resultado);
        }
Exemple #2
0
        public Resultado <bool> EnviarMailEjemplo(string mensaje)
        {
            var resultado = new Resultado <bool>();

            try
            {
                // Obtengo html
                var resultadoadoHtml = GetHtml(Enums.Mail.EjemploMail);
                if (!resultadoadoHtml.Ok)
                {
                    resultado.InfoError = resultadoadoHtml.InfoError;
                    return(resultado);
                }

                if (string.IsNullOrEmpty(resultadoadoHtml.Return))
                {
                    resultado.InfoError = "Problemas con GetHtml";
                    return(resultado);
                }

                var html = resultadoadoHtml.Return;

                // Usuario
                var resultadoByToken = new _VecinoVirtualUsuarioRules(GetUsuarioLogueado()).GetByToken();
                if (!resultadoByToken.Ok)
                {
                    resultado.Error = resultadoByToken.Error;
                    return(resultado);
                }
                var usuario = resultadoByToken.Return;

                // Personalizo el html
                html = html.Replace("{vecino}", usuario.Apellido + ", " + usuario.Nombre);
                html = html.Replace("{mensaje}", mensaje);

                // Preparo el comando
                ComandoMail comando = new ComandoMail()
                {
                    Asunto       = "Ejemplo",
                    Contenido    = html,
                    EsHtml       = true,
                    ReceptorMail = usuario.Email
                };

                // Mando mail
                var resultadoadoEnviar = EnviarEmail(comando);
                if (!resultadoadoEnviar.Ok)
                {
                    resultado.InfoError = "Error procesando al operacion";
                    return(resultado);
                }

                resultado.Return = true;
                return(resultado);
            }
            catch (Exception e)
            {
                resultado.InfoError = e;
            }

            return(resultado);
        }