public static void Executar(Filtro_Pesquisa filtro, List <String> documentos_selecionados, String Servidor) { //Criar Mensagem de email MailMessage mail = criar_email(filtro); //Percorrer a lista de documentos a serem enviados int contador = 0; int NumeroMaximoDeAnexoNoEmail = 4; // Convert.ToInt32(Consulta_GED_CRM.Properties.Settings.Default.Nr_Maximo_de_Anexos); string arquivo_fisico = ""; foreach (String DocumentoPDF in documentos_selecionados) { adicionar_anexo(mail, DocumentoPDF, filtro.IdIdocs, Servidor); // quando o contador chegar ao numero NumeroMaximoDeAnexoNoEmail contador++; if (contador == NumeroMaximoDeAnexoNoEmail) { // disparar e-mail disparar_email(mail, filtro); // Criar novo e-mail mail = criar_email(filtro); //zerar contador contador = 0; } } // se o total de documentos nao atingir o NumeroMaximoDeAnexoNoEmail enviar e-mail mesmo assim if (contador != 0) { // disparar e-mail disparar_email(mail, filtro); } }
public static List <DocumentoPDF> obter_lista_arquivos_PDF(Filtro_Pesquisa filtro, String Servidor) { ConsultaExtratoCRMBLL CRMBLL = new ConsultaExtratoCRMBLL(); List <String> Lista_conversao_nomes = CRMBLL.Obter_lista_conversao_nomes(filtro); String SQL = CRMBLL.Gerar_Comando_Select(ref filtro, Lista_conversao_nomes); List <DocumentoPDF> documentos = CRMBLL.executar_comando_Select(SQL, Servidor); return(documentos); }
private static MailMessage criar_email(Filtro_Pesquisa filtro) { //Criar Mensagem de email MailMessage mail = new MailMessage(); mail.From = new MailAddress("*****@*****.**"); //Consulta_GED_CRM.Properties.Settings.Default.Email_Remetente); mail.To.Add(filtro.ParticipanteEmail); mail.IsBodyHtml = true; mail.BodyEncoding = System.Text.Encoding.UTF8; mail.Subject = gerar_titulo_email(filtro); mail.Body = gerar_corpo_email(filtro); return(mail); }
protected static void disparar_email(MailMessage mail, Filtro_Pesquisa filtro) { //Fazer conexao no servidor de e-mail //SmtpClient client = new SmtpClient("smtp.funcesp.com.br"); //SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["Servidor_Email"]); // Somente enviar e-mail externo quando for o ambiente de Producao //if (Consulta_GED_CRM.Properties.Settings.Default.Email_Limitar_Envio_Interno != "S") //{ // Passar dados do usuario, passo necessario para envio de email externo ao ambiente //String usuario = Consulta_GED_CRM.Properties.Settings.Default.Email_Usuario; //String senha = Consulta_GED_CRM.Properties.Settings.Default.Email_Usuario_Senha; //String usuario = "atendimento"; //String senha = "WebCrm#14"; //NetworkCredential basicCredential = new NetworkCredential(usuario, senha); //client.UseDefaultCredentials = true; //client.Credentials = basicCredential; //} // Enviar e-mail //client.Send(mail); SmtpClient client = new Email().EnviaEmailMensagem(mail); //salvar e-mail em disco String pastaTemporariaEmail = criar_pasta_temporaria("Email"); client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = pastaTemporariaEmail; client.Send(mail); // Ler o e-mail salvo no passo anterior e renomear string[] filePaths = Directory.GetFiles(pastaTemporariaEmail); String novo_nome_de_arquivo = pastaTemporariaEmail + "\\email_" + Consultar_Documentos.converter_nome(filtro.TipoDocumento) + "(Enviado em " + DateTime.Now.ToString("ddMMyyyy_hhm") + ").eml"; System.IO.File.Move(@filePaths[0], novo_nome_de_arquivo); // Anexar e-mail salvo em disco a aplicacao. ConsultaExtratoCRMBLL CRMBLL = new ConsultaExtratoCRMBLL(); String resultado = CRMBLL.Anexar_Email(novo_nome_de_arquivo, filtro); System.IO.File.Delete(novo_nome_de_arquivo); if (resultado != "Arquivo adicionado com sucesso!") { throw new ArgumentNullException(resultado); } }
private static String gerar_corpo_email(Filtro_Pesquisa filtro) { //StreamReader sr = new StreamReader(Consulta_GED_CRM.Properties.Settings.Default.Pasta_Templates_Corpo_Email + "\\" + filtro.TipoDocumento + "\\Template_Corpo_Email.htm"); String idocs = HttpContext.Current.Server.MapPath(@"Modelos\Idocs\"); StreamReader sr = new StreamReader(idocs + filtro.TipoDocumento + @"\Template_Corpo_Email.htm"); String line = sr.ReadToEnd(); //cria string para verificar o sexo do participante e incluir o SR. ou Sra. string tratamento = ""; line = line.Replace("TipoDocumento", Consultar_Documentos.converter_nome2(filtro.TipoDocumento)); string str_periodo_dia = ""; TimeSpan horarioAtual = DateTime.Now.TimeOfDay; TimeSpan periodo_dia = new TimeSpan(12, 0, 0); if (horarioAtual < periodo_dia) { str_periodo_dia = "Bom Dia"; } else { str_periodo_dia = "Boa Tarde"; } //compara a string e cria e retorna true ou false tratamento = (filtro.Sexo.Equals("M") ? "Sr." : "Sra."); line = line.Replace("periodo_dia", str_periodo_dia); line = line.Replace("Tratamento", tratamento); line = line.Replace("NomeParticipante", filtro.ParticipanteNome); line = line.Replace("EmpresaParticipante", ""); line = line.Replace("RegistroParticipante", ""); line = line.Replace("NumeroRepresentanteParticipante", ""); line = line.Replace("DiaAtual", DateTime.Now.ToString("dd/mm/yyyy")); line = line.Replace("HoraAtual", DateTime.Now.ToString("hh:mi:ss")); return(line); }
private static String gerar_titulo_email(Filtro_Pesquisa filtro) { String titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); if (filtro.TipoDocumento == 1) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 2) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 3) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 4) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 5) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 6) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 7) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 8) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 9) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 10) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 11) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 12) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 13) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 14) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 15) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 16) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 17) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } if (filtro.TipoDocumento == 18) { titulo = "Solicitação de segunda via " + Consultar_Documentos.converter_nome2(filtro.TipoDocumento); } return(titulo); }
protected void btnEnviarEmail_Click(object sender, EventArgs e) { // ler os checkbox da pagina que foram selecionados List <String> documentos_selecionados = new List <String>(); // Percorrer todos os componente da pagina foreach (String cc in Request.Form.Keys) { // se o componente for checkbox if (cc.IndexOf("chk_") > -1 && cc.IndexOf("todos") == -1) { // Adicionar a lista de documentos clicados documentos_selecionados.Add(cc.Substring(cc.IndexOf("__") + 2, cc.Length - (cc.IndexOf("__") + 2))); } } if (documentos_selecionados.Count > 0) { Filtro_Pesquisa filtro = ler_variaveis_ambiente(); filtro.ParticipanteEmail = txtEmailDestinatario.Text; ////Regisro para teste //if (Consulta_GED_CRM.Properties.Settings.Default.Ambiente != "Producao" && filtro.TipoDocumento == 0) //{ // filtro.TipoDocumento = 9; // filtro.CodigoEmpresa = "088"; // filtro.Registro = "0000200007"; // filtro.Representante = "0"; // filtro.ParticipanteNome = "FULVIO CORRALES DE ANDRADE"; // filtro.PesquisaAnoInicio = "2000"; // filtro.PesquisaAnoFim = "2020"; // filtro.PesquisaMesInicio = "01"; // filtro.PesquisaMesFim = "12"; // filtro.ParticipanteEmail = "*****@*****.**"; // filtro.NrChamado = "921"; // filtro.NrManifestacao = "701"; //} if (String.IsNullOrEmpty(filtro.ParticipanteEmail)) { Page.ClientScript.RegisterStartupScript(this.GetType(), "PopupScript", "alert('Campo E-Mail obrigatório.');", true); txtEmailDestinatario.Focus(); } else if (!Util.ValidaEmail(filtro.ParticipanteEmail)) { Page.ClientScript.RegisterStartupScript(this.GetType(), "PopupScript", "alert('Campo E-Mail inválido.');", true); txtEmailDestinatario.Focus(); } else { Enviar_Email.Executar(filtro, documentos_selecionados, Servidor); Page.ClientScript.RegisterStartupScript(this.GetType(), "PopupScript", "alert('E-Mail Enviado com sucesso.');", true); } } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "PopupScript", "alert('Favor selecionar um documento para prosseguir.');", true); } }
public string Servidor = "10.190.35.143"; //doctst protected Filtro_Pesquisa ler_variaveis_ambiente() { Filtro_Pesquisa filtro = new Filtro_Pesquisa(); filtro.TipoDocumento = Convert.ToInt16(Request.QueryString["BdTypeName"]); filtro.CodigoEmpresa = Request.QueryString["CP01"]; filtro.Registro = Request.QueryString["CP02"]; filtro.Representante = Request.QueryString["CP03"]; filtro.PesquisaAnoInicio = Request.QueryString["CP04"]; filtro.PesquisaAnoFim = Request.QueryString["CP05"]; filtro.PesquisaMesInicio = Request.QueryString["CP06"]; filtro.PesquisaMesFim = Request.QueryString["CP07"]; filtro.ParticipanteNome = Request.QueryString["CP08"]; filtro.CPF = Request.QueryString["CP09"]; filtro.ParticipanteEmail = Request.QueryString["CP10"]; filtro.NrChamado = Request.QueryString["CP11"]; filtro.NrManifestacao = Request.QueryString["CP12"]; filtro.Sexo = Request.QueryString["CP13"]; filtro.cnpj = Request.QueryString["CP14"]; //filtro.nom_convenente = Request.QueryString["CP15"]; filtro.contrato = Request.QueryString["CP16"]; switch (filtro.TipoDocumento) { case 1: filtro.IdIdocs = "tp_pagsupl"; break; case 2: filtro.IdIdocs = "tp_contrib"; break; case 3: filtro.IdIdocs = "tp_irrfapo"; break; case 4: filtro.IdIdocs = "tp_cobvinc"; break; case 5: filtro.IdIdocs = "tp_cobrsep"; break; case 6: filtro.IdIdocs = "tp_revisao"; break; case 8: filtro.IdIdocs = "tp_cobsaud"; break; case 9: filtro.IdIdocs = "tp_utilamh"; break; case 10: filtro.IdIdocs = "tp_utilpes"; break; case 11: filtro.IdIdocs = "tp_credree"; break; case 12: filtro.IdIdocs = "tp_utilanu"; break; case 13: filtro.IdIdocs = "tp_cejadmn"; break; case 14: filtro.IdIdocs = "tp_irrfcre"; break; case 15: filtro.IdIdocs = "tp_terquit"; break; case 16: filtro.IdIdocs = "tp_pagcompc"; break; case 17: filtro.IdIdocs = "tp_cejsaud"; break; case 18: filtro.IdIdocs = "tp_credpcc"; break; default: break; } return(filtro); }
protected void Page_Load(object sender, EventArgs e) { // Ler as variaveis Filtro_Pesquisa filtro = ler_variaveis_ambiente(); //Regisro para teste //if (Consulta_GED_CRM.Properties.Settings.Default.Ambiente != "Producao" && filtro.TipoDocumento == 0) ////{ //// NAO ESQUECER DE COMENTAR ESSA PARTE DAQUI // filtro.TipoDocumento = 9; // filtro.CodigoEmpresa = "088"; // filtro.Registro = "0000200007"; // filtro.Representante = "0"; // filtro.ParticipanteNome = "FULVIO CORRALES DE ANDRADE"; // filtro.PesquisaAnoInicio = "2000"; // filtro.PesquisaAnoFim = "2020"; // filtro.PesquisaMesInicio = "01"; // filtro.PesquisaMesFim = "12"; // filtro.ParticipanteEmail = "*****@*****.**"; // filtro.NrChamado = "921"; // filtro.NrManifestacao = "701"; ////ATÉ AQUI ////} // Apenas informar e-mail a ser enviado if (!IsPostBack) { txtEmailDestinatario.Text = filtro.ParticipanteEmail; } //if (ConfigurationManager.AppSettings["Config"] == "P") //{ // Servidor = "10.190.35.57"; // docprod //} if (ConfigurationManager.AppSettings["Config"] == "P" || ConfigurationManager.AppSettings["Config"] == "T") { Servidor = "10.190.35.57"; // docprod } // Apenas informar sobre ambiente de Homologacao //if (Consulta_GED_CRM.Properties.Settings.Default.Ambiente != "Producao") //{ // Label4.Text = "Existem poucos documentos no ambiente de Homologacao - Para testes favor utilizar a empresa 88"; //} // Consultar documentos List <DocumentoPDF> documentos = Consultar_Documentos.obter_lista_arquivos_PDF(filtro, Servidor); if (documentos.Count == 0) { Response.Write("Nenhum arquivo encontrado"); txtEmailDestinatario.Visible = false; btnEnviarEmail.Visible = false; } else { gerar_pagina_html_com_resultado(documentos, filtro.IdIdocs); txtEmailDestinatario.Visible = true; btnEnviarEmail.Visible = true; } }