public async Task <EnviarEmailResponse> EnviarEmailOffline(EnviarEmailRequest request) { var response = new EnviarEmailResponse(); var handler = new HttpClientHandler(); //handler.ClientCertificates.Add(CertificadoRequisicao.Obter(this._dadosBhn.Certificado)); using (var httpClient = new HttpClient(handler)) { var enviarEmailUrl = this._dadosUtilitario.RotaEnviarEmailOffline; httpClient.BaseAddress = new Uri(this._dadosUtilitario.HttpAddress); httpClient.DefaultRequestHeaders.Accept.Clear(); var enviarEmailRequest = new HttpRequestMessage(HttpMethod.Post, httpClient.BaseAddress + enviarEmailUrl); enviarEmailRequest.Headers.TryAddWithoutValidation("Authorization", this._dadosUtilitario.Authorization); //enviarEmailRequest.Headers.Add("X-SecurityAccess", "External"); using (var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json")) { enviarEmailRequest.Content = content; var enviarEmailResponse = await httpClient.SendAsync(enviarEmailRequest); var responseString = await enviarEmailResponse.Content.ReadAsStringAsync(); var responseObject = JsonConvert.DeserializeObject <EnviarEmailResponse>(responseString); return(responseObject); } } }
public void EnviaNotificacaoArquivoProntoImportacao() { var lServico = Ativador.Get <IServicoEmail>(); try { StreamReader lStream = new StreamReader(Path.Combine(ConfigurationManager.AppSettings["pathArquivoEmailAviso"].ToString(), "NotificacaoGeracaoArquivo.txt")); string lCorpoEmail = lStream.ReadToEnd(); string lNomeArquivo = "CCOU" + DateTime.Now.ToString("MMdd") + ".DAT"; string lPathArquivoCobranca = Path.Combine(ConfigurationManager.AppSettings["pathArquivoCobranca"].ToString(), DateTime.Now.ToString("yyyy"), lNomeArquivo); var lEmail = new EnviarEmailRequest(); lEmail.Objeto = new EmailInfo(); lEmail.Objeto.Assunto = "Notificação de arquivo pronto para importação"; lEmail.Objeto.Destinatarios = new List <string>() { ConfigurationManager.AppSettings["EmailDestinatarioNotificacaoArquivo"].ToString() }; lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacaoArquivo"].ToString(); lEmail.Objeto.CorpoMensagem = lCorpoEmail.Replace("##ARQUIVO##", lNomeArquivo); EmailAnexoInfo lAnexo = new EmailAnexoInfo() { Arquivo = StreamArquivoImportacao(lPathArquivoCobranca), Nome = lNomeArquivo }; lEmail.Objeto.Anexos = new List <EmailAnexoInfo>() { lAnexo }; logger.InfoFormat("Entrou no método de EnviarEmailAviso"); EnviarEmailResponse lResponse = lServico.Enviar(lEmail); if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK)) { logger.Info("Email disparado com sucesso"); } else { logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ", lResponse.DescricaoResposta); } } catch (Exception ex) { logger.ErrorFormat("Erro no método de EnviarEmailAviso - Descrição: {0} - Stacktrace: {1}", ex.Message, ex.StackTrace); } }
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 void btnGerarHistorico_Click(object sender, EventArgs e) { try { ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>(); EnviarEmailRequest request = new EnviarEmailRequest(); EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_RISCO); request.DadosEmail = dadosEmail.Lista[IDEMAIL_RISCO]; var listaSelecionados = from InformacoesClienteInfo lstcli in ListaDevedores orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending where lstcli.Selecionado == true select lstcli; request.ListaClientes = listaSelecionados.ToList(); if (request.ListaClientes.Count > 0) { if (!EmailTestePara.Equals("")) { request.DadosEmail.EmailPara = EmailTestePara; } if (!EmailTesteCopia.Equals("")) { request.DadosEmail.EmailCopia = EmailTesteCopia; } if (!EmailTesteCopiaOculta.Equals("")) { request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta; } EnviarEmailResponse resp = serv.EnviarEmailRisco(request); if (resp.Retorno == EnviarEmailResponse.RETORNO_OK) { MessageBox.Show("E-mail enviado com sucesso!", "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("FALHA NO ENVIO DO E-MAIL!", "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { string msg = "Enviar E-Mail: " + ex.Message; MessageBox.Show(msg, "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnEnviarEmail_Click(object sender, EventArgs e) { try { EnviarEmailRequest request = new EnviarEmailRequest(); ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>(); EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_TESOURARIA); request.DadosEmail = dadosEmail.Lista[IDEMAIL_TESOURARIA]; var listaSelecionados = from InformacoesClienteInfo lstcli in ListaDevedoresFiltrada orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending where lstcli.Selecionado == true select lstcli; request.ListaClientes = listaSelecionados.ToList(); if (request.ListaClientes.Count > 0) { if (!EmailTestePara.Equals("")) { request.DadosEmail.EmailPara = EmailTestePara; } if (!EmailTesteCopia.Equals("")) { request.DadosEmail.EmailCopia = EmailTesteCopia; } if (!EmailTesteCopiaOculta.Equals("")) { request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta; } EnviarEmailResponse resp = serv.EnviarEmailTesouraria(request); if (resp.Retorno == EnviarEmailResponse.RETORNO_OK) { MessageBox.Show("Notificação enviada com sucesso!", "Notificar Tesouraria", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("FALHA NO ENVIO DA NOTIFICAÇÃO!", "Notificar Tesouraria", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { string msg = "Enviar E-Mail: " + ex.Message; MessageBox.Show(msg, "Notificar Tesouraria", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
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'"); } }
/// <summary> /// Envia e-mail para o cliente para com a notificação de ativação do plano /// </summary> private void EnviaNotificacaoAtivacaoPlanoCliente(PlanoClienteInfo info) { try { var lServico = Ativador.Get <IServicoEmail>(); logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>"); StreamReader lStream = new StreamReader(Path.Combine(ConfigurationManager.AppSettings["pathArquivoEmailNotificacao"].ToString(), "EmailNotificacaoAtivacaoPlano.txt")); string lCorpoEmail = lStream.ReadToEnd(); var lEmail = new EnviarEmailRequest(); lEmail.Objeto = new EmailInfo(); lEmail.Objeto.Assunto = "Notificação de ativação do DirectTrade"; lEmail.Objeto.Destinatarios = new List <string>(); lEmail.Objeto.Destinatarios.Add(info.DsEmail); logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", info.DsEmail)); lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString(); lEmail.Objeto.CorpoMensagem = lCorpoEmail.Replace("###NOME###", info.NomeCliente); logger.InfoFormat("Entrou no método de EnviaEmailAvisoPlanoCliente"); EnviarEmailResponse lResponse = lServico.Enviar(lEmail); if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK)) { logger.Info("Email disparado com sucesso"); } else { logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ", lResponse.DescricaoResposta); } } catch (Exception ex) { logger.ErrorFormat("Erro em EnviaEmailAvisoPlanoCliente - {0} - StackTrace - {1}", ex.Message, ex.StackTrace); } }
public void EnviarEmail(ClienteGarantiaRequest request) { StringBuilder _EmailBuilder = new StringBuilder(); try { _EmailBuilder.Append("<P> SEGUE ABAIXO E-MAIL REFERENTE A ALOCAÇÃO DE ATIVO PARA COBERTURA DE OPERAÇÃO A TERMO </P>"); _EmailBuilder.Append("<BR>"); _EmailBuilder.Append("------------- [SOLICITACAO DE TRANSFERENCIA DE CARTEIRA PARA COBERTURA DE OPERAÇÃO A TERMO] ------------- <BR>"); _EmailBuilder.Append("<B> Horario da solicitação </B> : " + request.ClienteGarantiaInfo.DataSolicitacao + "<BR>"); _EmailBuilder.Append("<B> Hora Atual</B> : " + DateTime.Now + "<BR>"); _EmailBuilder.Append("<B> Código do Cliente </B> : " + request.ClienteGarantiaInfo.IdCliente.ToString() + "<BR>"); _EmailBuilder.Append("<B> Instrumento</B> : " + request.ClienteGarantiaInfo.Instrumento + "<BR>"); _EmailBuilder.Append("<B> Quantidade </B> : " + request.ClienteGarantiaInfo.Quantidade + "<BR>"); _EmailBuilder.Append("<B> Função </B> : Cobertura de termo "); _EmailBuilder.Append("</BR>"); var lServico = Ativador.Get <IServicoEmail>(); logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>"); string lEmailDestinatario = ConfigurationManager.AppSettings["EmailDestinatario"].ToString(); var lEmail = new EnviarEmailRequest(); lEmail.Objeto = new OMS.Email.Lib.EmailInfo(); lEmail.Objeto.Assunto = "Notificação de solicitação de transferencia de custódia [TERMO]"; lEmail.Objeto.Destinatarios = new List <string>(); lEmail.Objeto.Destinatarios.Add(lEmailDestinatario); logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", lEmailDestinatario)); lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString(); lEmail.Objeto.CorpoMensagem = _EmailBuilder.ToString(); logger.InfoFormat("Entrou no método de EnviaEmailClienteEstornos"); EnviarEmailResponse lResponse = lServico.Enviar(lEmail); if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK)) { logger.Info("Email disparado com sucesso (Garantia de Termo) "); } else { logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} "); } } catch (Exception ex) { logger.Info("Ocorreu um erro ao enviar o E-MAIL de solicitação de alocação para garantia de termo para os destinatarios", ex); } }
private void btnEnviarEmail_Click(object sender, EventArgs e) { try { EnviarEmailRequest request = new EnviarEmailRequest(); Dictionary <int, InformacoesClienteInfo> lista = new Dictionary <int, InformacoesClienteInfo>(); foreach (InformacoesClienteInfo item in ListaDevedoresFiltrada) { lista.Add(item.CodigoCliente, item); } int emailEnviados = 0; int emailNaoEnviados = 0; foreach (TreeNode notificacao in treeEmail.Nodes) { if (notificacao.Checked) { if (notificacao.Name.StartsWith("-")) { request.DadosEmail = new EmailInfo(); request.DadosEmail.Anexos = ListaEmail[IdEmailVinculados].Anexos; request.DadosEmail.Conteudo = ListaEmail[IdEmailVinculados].Conteudo; request.DadosEmail.DataAtualizacao = ListaEmail[IdEmailVinculados].DataAtualizacao; request.DadosEmail.Descricao = ListaEmail[IdEmailVinculados].Descricao; request.DadosEmail.EmailCopia = ListaEmail[IdEmailVinculados].EmailCopia; request.DadosEmail.EmailCopiaOculta = ListaEmail[IdEmailVinculados].EmailCopiaOculta; request.DadosEmail.Id = ListaEmail[IdEmailVinculados].Id; request.DadosEmail.IdTextoEmail = ListaEmail[IdEmailVinculados].IdTextoEmail; request.DadosEmail.ListaAssessor = ListaEmail[IdEmailVinculados].ListaAssessor; request.DadosEmail.Titulo = new StringBuilder(ListaEmail[IdEmailVinculados].Titulo).ToString(); request.DadosEmail.Assunto = new StringBuilder(ListaEmail[IdEmailVinculados].Assunto).ToString(); request.DadosEmail.EmailPara = new StringBuilder(ListaEmail[IdEmailVinculados].EmailPara).ToString(); int codCliente = Int32.Parse(notificacao.Name.Substring(1, notificacao.Name.Length - 1)); request.ListaClientes = new List <InformacoesClienteInfo>(); if (notificacao.Nodes[0].Checked) { request.ListaClientes.Add(lista[codCliente]); request.DadosEmail.Titulo = lista[codCliente].NomeCliente; request.DadosEmail.Assunto += lista[codCliente].NomeCliente; request.DadosEmail.EmailPara = notificacao.Text.Substring(notificacao.Text.IndexOf('(') + 1).Replace(')', ' ').Trim(); if (request.DadosEmail.EmailPara.Length == 0) { string msg = string.Format("Favor preencher e-mail do Cliente Vinculado ({0})", codCliente); MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } if (request.ListaClientes.Count > 0) { ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>(); if (!EmailTestePara.Equals("")) { request.DadosEmail.EmailPara = EmailTestePara; } if (!EmailTesteCopia.Equals("")) { request.DadosEmail.EmailCopia = EmailTesteCopia; } if (!EmailTesteCopiaOculta.Equals("")) { request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta; } EnviarEmailResponse resp = serv.EnviarEmailAssessores(request); if (resp.Retorno == EnviarEmailResponse.RETORNO_OK) { emailEnviados++; } else { emailNaoEnviados++; } } } else { request.DadosEmail = ListaEmail[Int32.Parse(notificacao.Name)]; request.ListaClientes = new List <InformacoesClienteInfo>(); foreach (TreeNode clienteNotificado in notificacao.Nodes) { if (clienteNotificado.Checked) { request.ListaClientes.Add(lista[Int32.Parse(clienteNotificado.Name)]); } } if (request.ListaClientes.Count > 0) { ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>(); if (!EmailTestePara.Equals("")) { request.DadosEmail.EmailPara = EmailTestePara; } if (!EmailTesteCopia.Equals("")) { request.DadosEmail.EmailCopia = EmailTesteCopia; } if (!EmailTesteCopiaOculta.Equals("")) { request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta; } EnviarEmailResponse resp = serv.EnviarEmailAssessores(request); if (resp.Retorno == EnviarEmailResponse.RETORNO_OK) { emailEnviados++; } else { emailNaoEnviados++; } } } } } if (emailEnviados > 0) { string msg = string.Format("{0} Notificações enviadas com sucesso!", emailEnviados.ToString()); MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (emailNaoEnviados > 0) { string msg = string.Format("{0} FALHA NO ENVIO DAS NOTIFICAÇÕES!", emailNaoEnviados.ToString()); MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { string msg = "Enviar E-mail: " + ex.Message; MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void EnviarEmailTesourariaControladoria(AplicacaoResgateInfo info) { try { var lAtivador = Ativador.Get <IServicoEmail>(); List <string> lDestinatarios = new List <string>(); if (info.EhFundoItau) { lDestinatarios.Add(ConfigurationManager.AppSettings["EmailMovimentacao"].ToString()); lDestinatarios.Add(ConfigurationManager.AppSettings["EmailTesouraria"].ToString()); } else { lDestinatarios.Add(ConfigurationManager.AppSettings["EmailMovimentacaoWM"].ToString()); } string lNomeArquivo = "AvisoAplicacaoResgate.htm"; string lPath = ConfigurationManager.AppSettings["ArquivosEmail"].ToString(); string lCaminho = Path.Combine(lPath, lNomeArquivo); string lCorpoEmail = File.ReadAllText(lCaminho); string lArquivoConcatenado = lCorpoEmail; var lVariaveis = new Dictionary <string, string>(); string lAssunto = string.Empty; if (info.TipoMovimento == "1") { lAssunto = "Aplicação Efetuada - Cliente: " + info.CodigoCliente + " no Fundo " + info.NomeFundo; lVariaveis.Add("##NomeCliente##", info.NomeCliente); lVariaveis.Add("##CodigoCliente##", info.CodigoCliente.ToString()); lVariaveis.Add("##NomeFundo##", info.NomeFundo); lVariaveis.Add("##ValorSolicitado##", info.VlrBrutoMovimento.ToString("N2", gCultura)); lVariaveis.Add("##Data##", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); lVariaveis.Add("##Operacao##", "Aplicação"); lVariaveis.Add("##TotalParcial##", "-"); lVariaveis.Add("##DataLiquidacao##", "n\\d"); } else { lAssunto = "Resgate solicitado - Cliente: " + info.CodigoCliente + " no Fundo " + info.NomeFundo; lVariaveis.Add("##NomeCliente##", info.NomeCliente); lVariaveis.Add("##CodigoCliente##", info.CodigoCliente.ToString()); lVariaveis.Add("##NomeFundo##", info.NomeFundo); lVariaveis.Add("##ValorSolicitado##", info.VlrBrutoMovimento.ToString("N2")); lVariaveis.Add("##Data##", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); lVariaveis.Add("##Operacao##", "Resgate"); lVariaveis.Add("##TotalParcial##", info.EhResgateTotal ? "Resgate Total" : "Resgate Parcial"); lVariaveis.Add("##DataLiquidacao##", info.DsDiasPagResgate); } foreach (KeyValuePair <string, string> lItem in lVariaveis) { gLogger.InfoFormat("PaginaBase.EnviarEmail: Arquivo [{0}], Substituindo [{1}] por [{2}]...", lCaminho, lItem.Key, lItem.Value); lArquivoConcatenado = lArquivoConcatenado.Replace(lItem.Key, lItem.Value); } lCorpoEmail = lArquivoConcatenado; var lEmailEntrada = new EnviarEmailRequest(); lEmailEntrada.Objeto = new EmailInfo(); lEmailEntrada.Objeto.Assunto = lAssunto; lEmailEntrada.Objeto.Destinatarios = lDestinatarios; lEmailEntrada.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteGradual"].ToString(); lEmailEntrada.Objeto.CorpoMensagem = lCorpoEmail; EnviarEmailResponse lEmailRetorno = lAtivador.Enviar(lEmailEntrada); if (lEmailRetorno.StatusResposta == MensagemResponseStatusEnum.OK) { gLogger.InfoFormat("E-mail enviado com sucesso...Assunto - [{0}] - Corpo - ", lAssunto, lCorpoEmail); } else { gLogger.ErrorFormat("O e-mail não foi enviado - Erro - [{0}]", lEmailRetorno.DescricaoResposta); } } catch (Exception ex) { gLogger.Error("Erro ao enviar e-mail- ", ex); } }
public void EnviarEmail(List <PLDOperacaoInfo> ListaPLD) { StringBuilder _EmailBuilder = new StringBuilder(); try { _EmailBuilder.Append("<P> Segue abaixo relação de posições PLD que se encontram em estado de analise. </P>"); foreach (var item in ListaPLD) { string HoraNegocio = string.Format("{0:T}", item.HR_NEGOCIO).ToString(); string HoraAtual = string.Format("{0:T}", DateTime.Now).ToString(); string MinutosRestantes = string.Format("{0:T}", item.MinutosRestantesPLD).ToString(); string NumeroNegocio = item.NumeroNegocio.ToString(); string Instrumento = item.Intrumento; string IntencaoPLD = item.IntencaoPLD; string PrecoNegocio = item.PrecoNegocio.ToString(); string PrecoMercado = string.Format("{0:C}", item.PrecoMercado).ToString(); string LucroPrejuiso = string.Format("{0:C}", item.LucroPrejuiso).ToString(); string Quantidade = item.Quantidade.ToString(); string QuantidadeCasada = item.QT_CASADA.ToString(); string Sentido = item.Sentido.ToString(); string Status = item.STATUS.ToString(); string DescricaoCriticidade = item.DescricaoCriticidade; _EmailBuilder.Append("<BR>"); _EmailBuilder.Append("------------- [" + NumeroNegocio + "] ------------- <BR>"); _EmailBuilder.Append("<B> Hora do negócio</B> : " + HoraNegocio + "<BR>"); _EmailBuilder.Append("<B> Hora Atual</B> : " + HoraAtual + "<BR>"); _EmailBuilder.Append("<B> Minutos Restantes : <font color='red'> " + MinutosRestantes + "</font></B> <BR>"); _EmailBuilder.Append("<B> Numero do negócio</B> : " + NumeroNegocio + "<BR>"); _EmailBuilder.Append("<B> Instrumento</B> : " + Instrumento + "<BR>"); _EmailBuilder.Append("<B> Intencao de PLD</B> : " + IntencaoPLD + "<BR>"); _EmailBuilder.Append("<B> Preço Negócio</B> : " + PrecoNegocio + "<BR>"); _EmailBuilder.Append("<B> Preço Mercado</B> : " + PrecoMercado + "<BR>"); _EmailBuilder.Append("<B> Lucro Prejuiso</B> : " + LucroPrejuiso + "<BR>"); _EmailBuilder.Append("<B> Quantidade</B> : " + Quantidade + "<BR>"); _EmailBuilder.Append("<B> Quantidade Casada</B> : " + QuantidadeCasada + "<BR>"); _EmailBuilder.Append("<B> Sentido Operacação</B> : " + Sentido + "<BR>"); _EmailBuilder.Append("<B> Status do PLD</B> : " + Status + "<BR>"); _EmailBuilder.Append("<B> Nível Criticidade</B> : <font color='red'> " + DescricaoCriticidade + "</font></B> <BR>"); _EmailBuilder.Append("</BR>"); } var lServico = Ativador.Get <IServicoEmail>(); logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>"); string lEmailDestinatario = ConfigurationManager.AppSettings["EmailDestinatario"].ToString(); var lEmail = new EnviarEmailRequest(); lEmail.Objeto = new OMS.Email.Lib.EmailInfo(); lEmail.Objeto.Assunto = "Alerta de PLD [ " + ListaPLD.Count + " ] posições a serem analisadas."; lEmail.Objeto.Destinatarios = new List <string>(); lEmail.Objeto.Destinatarios.Add(lEmailDestinatario); logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", lEmailDestinatario)); lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString(); lEmail.Objeto.CorpoMensagem = _EmailBuilder.ToString(); logger.InfoFormat("Entrou no método de EnviaEmailClienteEstornos"); EnviarEmailResponse lResponse = lServico.Enviar(lEmail); if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK)) { logger.Info("Email disparado com sucesso ( PLD ) "); } else { logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} "); } } catch (Exception ex) { logger.Info("Ocorreu um erro ao enviar o E-MAIL de PLD para os destinatarios", ex); } }
private void btnEnviarEmail_Click(object sender, EventArgs e) { try { EnviarEmailRequest request = new EnviarEmailRequest(); ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>(); EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_ATENDIMENTO); request.DadosEmail = dadosEmail.Lista[IDEMAIL_ATENDIMENTO]; var listaSelecionados = from InformacoesClienteInfo lstcli in ListaDevedoresFiltrada orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending where lstcli.Selecionado == true select lstcli; request.ListaClientes = listaSelecionados.ToList(); if (request.ListaClientes.Count > 0) { if (!EmailTestePara.Equals("")) { request.DadosEmail.EmailPara = EmailTestePara; } if (!EmailTesteCopia.Equals("")) { request.DadosEmail.EmailCopia = EmailTesteCopia; } if (!EmailTesteCopiaOculta.Equals("")) { request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta; } EnviarEmailResponse resp = serv.EnviarEmailAtendimento(request); if (resp.Retorno == EnviarEmailResponse.RETORNO_OK) { ParametroRequest req = new ParametroRequest(); req.Parametro = new ParametroInfo(); if (notificarAtendimentoDiasAlternados == ParametroRequest.NAO_NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS) { req.Parametro.NotificarAtendimentoDiasAlternados = ParametroRequest.NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS; } else { req.Parametro.NotificarAtendimentoDiasAlternados = ParametroRequest.NAO_NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS; } serv.GravarParametroNotificarAtendimentoDiasAlternados(req); MessageBox.Show("Notificação enviada com sucesso!", "Notificar Atendimento", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("FALHA NO ENVIO DA NOTIFICAÇÃO!", "Notificar Atendimento", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { string msg = "Enviar E-Mail: " + ex.Message; MessageBox.Show(msg, "Notificar Atendimento", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Envia o email com base nas propriedades do objeto. /// </summary> public EnviarEmailResponse Enviar(EnviarEmailRequest pParametro) { try { string lDestinatarios = ""; foreach (string lEmail in pParametro.Objeto.Destinatarios) { lDestinatarios += string.Format("{0},", lEmail); } lDestinatarios = lDestinatarios.TrimEnd(",".ToCharArray()); if (pParametro.Objeto != null) { logger.InfoFormat("> Chamada para envio de email assunto [{0}], Remetente: {1}, Destinatário: {2}", pParametro.Objeto.Assunto, pParametro.Objeto.Remetente, lDestinatarios); } else { logger.InfoFormat("> Chamada para envio de email com pParametro.Objeto nulo!"); } this.ObjetoEmail = pParametro.Objeto; var lResposta = new EnviarEmailResponse() { StatusResposta = MensagemResponseStatusEnum.OK, Resposta = pParametro.Objeto, }; if (0.Equals(this.ObjetoEmail.Destinatarios.Count) || string.IsNullOrEmpty(this.ObjetoEmail.Destinatarios[0])) { throw new NullReferenceException("Informe ao menos um destinatário para mensagem."); } var lMensagem = new MailMessage(ObjetoEmail.Remetente, this.ObjetoEmail.Destinatarios[0]); for (int a = 1; a < ObjetoEmail.Destinatarios.Count; a++) { lMensagem.To.Add(ObjetoEmail.Destinatarios[a]); //o destinatário número 0 já foi incluido na linha acima: this.ObjetoEmail.Destinatarios[0] } ObjetoEmail.DestinatariosCC.ForEach(delegate(string mailCc) { lMensagem.CC.Add(mailCc); }); ObjetoEmail.DestinatariosCO.ForEach(delegate(string mailCo) { lMensagem.Bcc.Add(mailCo); }); ObjetoEmail.ReplyTo.ForEach(delegate(string replyTo) { lMensagem.ReplyToList.Add(replyTo); }); if (ObjetoEmail.Anexos != null && ObjetoEmail.Anexos.Count > 0) { foreach (var item in ObjetoEmail.Anexos) { lMensagem.Attachments.Add(new Attachment(new MemoryStream(item.Arquivo), item.Nome)); } } { lMensagem.Body = ObjetoEmail.CorpoMensagem; lMensagem.IsBodyHtml = ObjetoEmail.MensagemHTML; lMensagem.Priority = ObjetoEmail.Prioridade; lMensagem.Subject = ObjetoEmail.Assunto; } //new SmtpClient("ironport.gradualcorretora.com.br").Send(lMensagem); //new SmtpClient(this.GetSMTPHost).Send(lMensagem); bool sinaliza = queueMessages.IsEmpty; queueMessages.Enqueue(lMensagem); if (sinaliza) { lock (syncQueueMessages) { Monitor.Pulse(syncQueueMessages); } } logger.InfoFormat("< Retorno de envio de email; Status [{0}]", lResposta.StatusResposta); return(lResposta); } catch (Exception ex) { logger.ErrorFormat("Enviar - Erro {0} - Stack Trace {1}", ex.Message, ex.StackTrace); this.GetServicoStatus = ServicoStatus.Erro; return(new EnviarEmailResponse() { StatusResposta = MensagemResponseStatusEnum.ErroPrograma, DescricaoResposta = ex.ToString(), }); } }
/// <summary> /// Envia o email com base nas propriedades do objeto. /// </summary> public EnviarEmailResponse EnviarComTemplate(EnviarEmailRequest pParametro) { try { string lCorpoEmail = string.Empty; if (pParametro.Objeto != null) { logger.InfoFormat("> Chamada para envio de email assunto [{0}]", pParametro.Objeto.Assunto); } else { logger.InfoFormat("> Chamada para envio de email com pParametro.Objeto nulo!"); } this.ObjetoEmail = pParametro.Objeto; if (0.Equals(this.ObjetoEmail.Destinatarios.Count) || string.IsNullOrEmpty(this.ObjetoEmail.Destinatarios[0])) { throw new NullReferenceException("Informe ao menos um destinatário para mensagem."); } var lMensagem = new MailMessage(ObjetoEmail.Remetente, this.ObjetoEmail.Destinatarios[0]); ObjetoEmail.Destinatarios.ForEach(delegate(string mail) { if (!ObjetoEmail.Destinatarios.Contains <string>(mail)) { lMensagem.To.Add(mail); } }); ObjetoEmail.DestinatariosCC.ForEach(delegate(string mailCc) { lMensagem.CC.Add(mailCc); }); ObjetoEmail.DestinatariosCO.ForEach(delegate(string mailCo) { lMensagem.Bcc.Add(mailCo); }); if (ObjetoEmail.Anexos != null && ObjetoEmail.Anexos.Count > 0) { foreach (var item in ObjetoEmail.Anexos) { lMensagem.Attachments.Add(new Attachment(new MemoryStream(item.Arquivo), item.Nome)); } } switch (pParametro.Objeto.ETipoTemplate) { case ETipoTemplate.NotificacaoRetirada: { lCorpoEmail = File.ReadAllText(ConfigurationManager.AppSettings["pathEmailNotificacaoRetirada"].ToString()); foreach (KeyValuePair <string, string> dados in pParametro.Objeto.ListaVariavelTemplate) { lCorpoEmail = lCorpoEmail.Replace(dados.Key, dados.Value); } } break; case ETipoTemplate.NotificacaoDeposito: { lCorpoEmail = File.ReadAllText(ConfigurationManager.AppSettings["pathEmailNotificacaoDeposito"].ToString()); foreach (KeyValuePair <string, string> dados in pParametro.Objeto.ListaVariavelTemplate) { lCorpoEmail = lCorpoEmail.Replace(dados.Key, dados.Value); } } break; } { lMensagem.Body = lCorpoEmail; lMensagem.IsBodyHtml = ObjetoEmail.MensagemHTML; lMensagem.Priority = ObjetoEmail.Prioridade; lMensagem.Subject = ObjetoEmail.Assunto; } //new SmtpClient("ironport.gradualcorretora.com.br").Send(lMensagem); //new SmtpClient(this.GetSMTPHost).Send(lMensagem); bool sinaliza = queueMessages.IsEmpty; queueMessages.Enqueue(lMensagem); if (sinaliza) { lock (syncQueueMessages) { Monitor.Pulse(syncQueueMessages); } } var lResposta = new EnviarEmailResponse() { StatusResposta = MensagemResponseStatusEnum.OK, Resposta = pParametro.Objeto, }; logger.InfoFormat("< Retorno de envio de email; Status [{0}]", lResposta.StatusResposta); return(lResposta); } catch (Exception ex) { logger.ErrorFormat("EnviarComTemplate - Erro {0} - Stack Trace {1}", ex.Message, ex.StackTrace); this.GetServicoStatus = ServicoStatus.Erro; return(new EnviarEmailResponse() { StatusResposta = MensagemResponseStatusEnum.ErroPrograma, DescricaoResposta = ex.ToString(), }); } }
private void EnviaNotificacaoAtivacaoPlanoIR(int CodigoCBLC, int CodigoPlano) { try { var lServico = Ativador.Get <IServicoEmail>(); AcessaDados lAcesso = new AcessaDados(); logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>"); StreamReader lStream = new StreamReader(Path.Combine(ConfigurationManager.AppSettings["pathArquivoEmailNotificacao"].ToString(), "NotificacaoAtivacaoPlanoIR.txt")); string lCorpoEmail = lStream.ReadToEnd(); var lEmail = new EnviarEmailRequest(); lEmail.Objeto = new EmailInfo(); lEmail.Objeto.Assunto = "Notificação de ativação Plano IR"; lAcesso.ConnectionStringName = _ConnStringControleAcesso; using (DbCommand cmd = lAcesso.CreateCommand(CommandType.StoredProcedure, "PRC_SELECIONAR_CLIENTES_PLANOIR")) { lAcesso.AddInParameter(cmd, "@CD_CBLC", DbType.Int32, CodigoCBLC); lAcesso.AddInParameter(cmd, "@ID_PRODUTO", DbType.Int32, CodigoPlano); //recupera os dados para mandar e-mail DataTable table = lAcesso.ExecuteDbDataTable(cmd); if (table.Rows.Count > 0) { lEmail.Objeto.Destinatarios = new List <string>(); lEmail.Objeto.Destinatarios.Add(table.Rows[0]["DS_EMAIL"].ToString()); logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", table.Rows[0]["DS_EMAIL"].ToString())); lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString(); lEmail.Objeto.CorpoMensagem = lCorpoEmail.Replace("###NOME###", table.Rows[0]["DS_NOME"].ToString()); logger.InfoFormat("Entrou no método de EnviaEmailAvisoPlanoIR - CBLC CodigoCBLC"); EnviarEmailResponse lResponse = lServico.Enviar(lEmail); if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK)) { logger.Info("Email disparado com sucesso"); } else { logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ", lResponse.DescricaoResposta); } } } } catch (Exception ex) { logger.ErrorFormat("Erro em EnviaEmailAvisoPlanoCliente - {0} - StackTrace - {1}", ex.Message, ex.StackTrace); } }