public MensagemResponseStatusEnum EnviarEmailSuitability(Nullable <int> pIdCliente, String pPerfil, List <String> pDestinatarios, string pAssunto, string pNomeArquivo, Dictionary <string, string> pVariaveisEmail, eTipoEmailDisparo pTipoEmailDisparo, List <Gradual.OMS.Email.Lib.EmailAnexoInfo> pAnexos = null) { using (var lStreamReader = File.OpenText(this.Server.MapPath(string.Concat("~/Extras/Emails/", pNomeArquivo)))) //--> Carregando o arquivo num StreamReader { var lStringBuilder = new System.Text.StringBuilder(lStreamReader.ReadToEnd()); //--> Convertendo o arquivo html em texto. foreach (KeyValuePair <string, string> item in pVariaveisEmail) { lStringBuilder.Replace(item.Key, item.Value); //--> Substituindo as variáveis do conteúdo do e-mail. } var lAtivador = Ativador.Get <IServicoEmail>(); if (lAtivador != null) { var lEmailEntrada = new EnviarEmailRequest(); lEmailEntrada.Objeto = new EmailInfo(); lEmailEntrada.Objeto.Assunto = pAssunto; lEmailEntrada.Objeto.Destinatarios = pDestinatarios; lEmailEntrada.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteGradual"].ToString(); lEmailEntrada.Objeto.CorpoMensagem = lStringBuilder.ToString(); if (pTipoEmailDisparo.Equals(eTipoEmailDisparo.Compliance)) { lEmailEntrada.Objeto.DestinatariosCO = new List <string>() { ConfiguracoesValidadas.EmailComCopiaOculta }; } if (null != pAnexos) { foreach (var item in pAnexos) { lEmailEntrada.Objeto.Anexos.Add(item); } } EnviarEmailResponse lEmailRetorno = lAtivador.Enviar(lEmailEntrada); if (MensagemResponseStatusEnum.OK.Equals(lEmailRetorno.StatusResposta)) { ServicoPersistencia.SalvarObjeto <LogEmailInfo>(new SalvarObjetoRequest <LogEmailInfo>() { Objeto = new LogEmailInfo(lEmailEntrada.Objeto, pTipoEmailDisparo, pIdCliente, pPerfil) }); } return(lEmailRetorno.StatusResposta); } else { throw new Exception("Ativador nulo ao enviar email. Provável erro de configuração, verificar entradas para 'TipoDeObjetoAtivador' e seção de config para 'IServicoEmail'"); } } }
private MensagemResponseStatusEnum EnviarEmail(List <string> pDestinatarios, string pAssunto, string pCorpoEmail, eTipoEmailDisparo pTipoEmailDisparo, List <Gradual.OMS.Email.Lib.EmailAnexoInfo> pAnexos = null) { var lAtivador = Ativador.Get <IServicoEmail>(); if (lAtivador != null) { var lEmailEntrada = new EnviarEmailRequest(); lEmailEntrada.Objeto = new EmailInfo(); lEmailEntrada.Objeto.Assunto = pAssunto; lEmailEntrada.Objeto.Destinatarios = pDestinatarios; lEmailEntrada.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteGradual"].ToString(); lEmailEntrada.Objeto.CorpoMensagem = pCorpoEmail; if (pTipoEmailDisparo.Equals(eTipoEmailDisparo.Compliance)) { //if (pTipoEmailDisparo.Equals(eTipoEmailDisparo.Compliance)) //{ lEmailEntrada.Objeto.DestinatariosCO = new List <string>() { ConfiguracoesValidadas.EmailComCopiaOculta }; //} } if (null != pAnexos) { foreach (var item in pAnexos) { lEmailEntrada.Objeto.Anexos.Add(item); } } EnviarEmailResponse lEmailRetorno = lAtivador.Enviar(lEmailEntrada); if (MensagemResponseStatusEnum.OK.Equals(lEmailRetorno.StatusResposta)) { ServicoPersistencia.SalvarObjeto <LogEmailInfo>(new SalvarObjetoRequest <LogEmailInfo>() { Objeto = new LogEmailInfo(lEmailEntrada.Objeto, pTipoEmailDisparo) }); } return(lEmailRetorno.StatusResposta); } else { throw new Exception("Ativador nulo ao enviar email. Provável erro de configuração, verificar entradas para 'TipoDeObjetoAtivador' e seção de config para 'IServicoEmail'"); } }