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); }
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); }