private bool EnviarXMLMail(string xmlPath, string correo, XmlDocument xDoc) { try { if (string.IsNullOrEmpty(correo)) { return(false); } var EM = new EnviarMail(); var servidor = ""; var puerto = 0; var ssl = false; var emailCredencial = ""; var passCredencial = ""; var emailEnviar = ""; DB.Conectar(); DB.CrearComando("select servidorSMTP,puertoSMTP,sslSMTP,userSMTP,passSMTP,emailEnvio from ParametrosSistema"); DbDataReader DR1 = DB.EjecutarConsulta(); while (DR1.Read()) { servidor = DR1[0].ToString(); puerto = Convert.ToInt32(DR1[1].ToString()); ssl = Convert.ToBoolean(DR1[2].ToString()); emailCredencial = DR1[3].ToString(); passCredencial = DR1[4].ToString(); emailEnviar = DR1[5].ToString(); } DB.Desconectar(); var asunto = "Retencion DHL"; var uuid = AtributoXML(xDoc, "tfd:TimbreFiscalDigital", "UUID"); var desc = AtributoXML(xDoc, "retenciones:Retenciones", "DescRetenc"); var mensaje = "Saludos Cordiales! <br>Se acaba de recibir un comprobante de retención de " + desc + " con UUID \"" + uuid + "\""; mensaje += "<br><br>No responder a este correo, es solo informativo"; EM.servidorSTMP(servidor, puerto, ssl, emailCredencial, passCredencial); EM.llenarEmail(emailEnviar, correo, "*****@*****.**", "", asunto, mensaje); //EM.llenarEmail(emailEnviar, "*****@*****.**", "", "", asunto, mensaje); if (!string.IsNullOrEmpty(xmlPath)) { EM.adjuntar(xmlPath); } return(EM.enviarEmail()); } catch { return(false); } }
protected void Button1_Click2(object sender, EventArgs e) { DB.Conectar(); DB.CrearComando("select servidorSMTP,puertoSMTP,sslSMTP,userSMTP,passSMTP,dirdocs,emailEnvio from Par_ParametrosSistema"); DbDataReader DR1 = DB.EjecutarConsulta(); while (DR1.Read()) { servidor = DR1[0].ToString(); puerto = Convert.ToInt32(DR1[1].ToString()); ssl = Convert.ToBoolean(DR1[2].ToString()); emailCredencial = DR1[3].ToString(); passCredencial = DR1[4].ToString(); RutaDOC = DR1[5].ToString(); emailEnviar = DR1[6].ToString(); } DB.Desconectar(); string emails = ""; string asunto = ""; string mensaje = ""; //string temp = ""; Boolean bCHK = false; DB.Desconectar(); consulta = ""; cantidad = gvFacturas.Rows.Count; foreach (GridViewRow row in gvFacturas.Rows) { CheckBox chk_Seleccionar = (CheckBox)row.FindControl("check"); HiddenField hd_SeleccionaPDF = (HiddenField)row.FindControl("checkHdPDF"); HiddenField hd_SeleccionarXML = (HiddenField)row.FindControl("checkHdXML"); Label l_Label2 = (Label)row.FindControl("Label2"); // Label l_Label4 = (Label)row.FindControl("Label4"); Label l_Label5 = (Label)row.FindControl("Label5"); Label l_Label1 = (Label)row.FindControl("Label1"); EM = new EnviarMail(); EM.servidorSTMP(servidor, puerto, ssl, emailCredencial, passCredencial); if (chk_Seleccionar.Checked) { bCHK = true; emails = ""; if (chkReglas.Checked) { if (!l_Label2.Text.Trim().Equals("9999999999999")) { DB.Conectar(); DB.CrearComando("select emailsRegla from Cat_EmailsReglas where Receptor=@rfcrec and estadoRegla=1"); DB.AsignarParametroCadena("@rfcrec", l_Label2.Text.Trim()); DbDataReader DR3 = DB.EjecutarConsulta(); if (DR3.Read()) { emails = DR3[0].ToString(); } } } emails = tbEmail.Text + "," + emails; emails = emails.Trim(); emails = emails.Trim(','); if (checkPDF.Checked) { EM.adjuntar(RutaDOC + hd_SeleccionaPDF.Value.ToString().Replace("docus/", "")); } if (checkXML.Checked) { EM.adjuntar(RutaDOC + hd_SeleccionarXML.Value.ToString().Replace("docus/", "")); } if (emails.Length > 15) { asunto = "Documento electrónico No: " + l_Label5.Text + " de DeCameron Ecuador"; mensaje = @"Estimado(a) cliente; <br> Acaba de recibir su documento electrónico generado el " + l_Label1.Text + @"<br> con folio No: " + l_Label5.Text + "."; mensaje += "<br><br>Saludos cordiales, "; mensaje += "<br>Hotel DeCameron Ecuador, "; mensaje += "<br><br>Servicio proporcionado por DataExpress Latinoamerica"; EM.llenarEmail(emailEnviar, emails.Trim(','), "", "", asunto, mensaje); try { EM.enviarEmail(); lbMsgZip.Text = "E-Mail enviado"; } catch (System.Net.Mail.SmtpException ex) { DB.Desconectar(); DB.Conectar(); DB.CrearComando(@"insert into Log_ErrorFacturas (detalle,fecha,archivo,linea,numeroDocumento,tipo) values (@detalle,@fecha,@archivo,@linea,@numeroDocumento,@tipo)" ); DB.AsignarParametroCadena("@detalle", ex.Message.Replace("'", "''")); DB.AsignarParametroCadena("@fecha", System.DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); DB.AsignarParametroCadena("@archivo", ""); DB.AsignarParametroCadena("@linea", ""); DB.AsignarParametroCadena("@tipo", "E-Mail"); DB.AsignarParametroCadena("@numeroDocumento", l_Label5.Text + " "); DB.EjecutarConsulta1(); DB.Desconectar(); lbMsgZip.Text = ex.Message; } } else { lbMsgZip.Text = "Tienes seleccionar algún E-Mail"; } } } if (!bCHK) { lbMsgZip.Text = "Debes seleccionar una factura"; } }
protected void Button1_Click2(object sender, EventArgs e) { string emails = ""; string emailEnviar = ""; string asunto = ""; string mensaje = ""; string FOLFAC = ""; string SERFAC = ""; string FECHEMI = ""; string servidor = ""; int puerto = 25; Boolean ssl = false; string emailCredencial = ""; string passCredencial = ""; string RutaDOC = ""; string RFCREC = ""; ArrayList Arraycons = new ArrayList(); string[] cons; DB.Conectar(); DB.CrearComando("select servidorSMTP,puertoSMTP,sslSMTP,userSMTP,passSMTP,dirdocs,emailEnvio from ParametrosSistema"); DbDataReader DR1 = DB.EjecutarConsulta(); while (DR1.Read()) { servidor = DR1[0].ToString(); puerto = Convert.ToInt32(DR1[1].ToString()); ssl = Convert.ToBoolean(DR1[2].ToString()); emailCredencial = DR1[3].ToString(); passCredencial = DR1[4].ToString(); RutaDOC = DR1[5].ToString(); emailEnviar = DR1[6].ToString(); } DB.Desconectar(); consulta = ""; DT.Clear(); if (tbFolioAnterior.Text.Length != 0) { if (consulta.Length != 0) { consulta = consulta + "FA" + tbFolioAnterior.Text + separador; } else { consulta = "FA" + tbFolioAnterior.Text + separador; } } if (tbNombre.Text.Length != 0) { if (consulta.Length != 0) { consulta = consulta + "RS" + tbNombre.Text + separador; } else { consulta = "RS" + tbNombre.Text + separador; } } if (tbRFC.Text.Length != 0) { if (consulta.Length != 0) { consulta = consulta + "RF" + tbRFC.Text + separador; } else { consulta = "RF" + tbRFC.Text + separador; } } if (tbSerie.Text.Length != 0) { if (consulta.Length != 0) { consulta = consulta + "SE" + tbSerie.Text + separador; } else { consulta = "SE" + tbSerie.Text + separador; } } /* if (ddlTipoDocumento.SelectedIndex != 0) * { * if (consulta.Length != 0) { consulta = consulta + "TD" + ddlTipoDocumento.SelectedValue + separador; } * else { consulta = "TD" + ddlTipoDocumento.SelectedValue + separador; } * }*/ if (ddlSucursal.SelectedIndex != 0) { if (consulta.Length != 0) { consulta = consulta + "SU" + ddlSucursal.SelectedValue + separador; } else { consulta = "SU" + ddlSucursal.SelectedValue + separador; } } if (!calFechaAnterior.SelectedDate.ToString("yyyyMMdd").Equals("00010101") && !calFechaFin.SelectedDate.ToString("yyyyMMdd").Equals("00010101") ) { if (consulta.Length != 0) { consulta = consulta + "DA" + calFechaAnterior.SelectedDate.ToString("MM/dd/yyyy") + separador; } else { consulta = "DA" + calFechaAnterior.SelectedDate.ToString("MM/dd/yyyy") + separador; } } if (!calFechaFin.SelectedDate.ToString("yyyyMMdd").Equals("00010101") && !calFechaAnterior.SelectedDate.ToString("yyyyMMdd").Equals("00010101") ) { if (consulta.Length != 0) { consulta = consulta + "DF" + calFechaFin.SelectedDate.ToString("MM/dd/yyyy") + separador; } else { consulta = "DF" + calFechaFin.SelectedDate.ToString("MM/dd/yyyy") + separador; } } if (consulta.Length != 0) { //if (((String)Session["coFactTodas"])=="") { miSucursal = "S---"; } else { miSucursal = (String)Session["sucursalUser"]; } // miSucursal = "S---"; consulta = consulta.Substring(0, consulta.Length - 1); } if (Convert.ToBoolean(Session["coFactTodas"])) { aux = "1"; } else { aux = "0"; } string a = "sucursal" + (String)Session["sucursalUser"] + " cliente" + (String)Session["rfcCliente"]; DB.Conectar(); DB.CrearComandoProcedimiento("PA_facturasInv_basico_rec"); DB.AsignarParametroProcedimiento("@QUERY", System.Data.DbType.String, consulta); DB.AsignarParametroProcedimiento("@SUCURSAL", System.Data.DbType.String, (String)Session["sucursalUser"]); DB.AsignarParametroProcedimiento("@RFC", System.Data.DbType.String, (String)Session["rfcCliente"]); DB.AsignarParametroProcedimiento("@ROL", System.Data.DbType.Byte, Convert.ToByte(aux)); DB.AsignarParametroProcedimiento("@MODULO", System.Data.DbType.String, (String)modulo); DbDataReader DR = DB.EjecutarConsulta(); while (DR.Read()) { cons = new string[5]; RFCREC = DR[0].ToString(); FOLFAC = DR[3].ToString(); SERFAC = DR[2].ToString(); FECHEMI = DR[5].ToString(); //emails = DR[11].ToString(); cons[0] = RFCREC; cons[1] = FOLFAC; cons[2] = SERFAC; cons[3] = FECHEMI; cons[4] = emails; Arraycons.Add(cons); } DB.Desconectar(); foreach (string[] datFact in Arraycons) { DB.Conectar(); DB.CrearComando("select emailsRegla from EmailsReglas where Receptor=@rfcrec and estadoRegla=1"); DB.AsignarParametroCadena("@rfcrec", datFact[0]); DbDataReader DR3 = DB.EjecutarConsulta(); if (DR3.Read()) { emails = DR3[0].ToString(); } DB.Desconectar(); if (emails.Length > 1) { EM = new EnviarMail(); EM.servidorSTMP(servidor, puerto, ssl, emailCredencial, passCredencial); if (ddlDocumentosEnviar.SelectedValue == "2") { EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".pdf"); } else if (ddlDocumentosEnviar.SelectedValue == "1") { EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".xml"); } if (ddlDocumentosEnviar.SelectedValue == "0") { EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".xml"); EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".pdf"); } if (emails.Length != 0) { asunto = "Factura con folio" + datFact[1] + datFact[2] + " de BDI de México"; mensaje = @"Buenas! <br> Acabas de Recibir tu factura generada el" + datFact[3] + @"<br> con folio" + datFact[1] + datFact[2] + "."; mensaje += "<br>Saludos cordiales "; mensaje += "<br>BDI Distribuciones de Mexico S. de R.L. de C.V. "; mensaje += "<br><br>Servicio proporcionado por DataExpress"; EM.llenarEmail(emailEnviar, (datFact[4].Trim(',') + "," + emails.Trim(',')).Trim(','), "", "", asunto, mensaje); try { EM.enviarEmail(); lMensaje.Text = "Email enviado"; } catch (System.Net.Mail.SmtpException ex) { //setMsj(ex.Message); DB.Desconectar(); DB.Conectar(); DB.CrearComando(@"insert into LogErrorFacturas (detalle,fecha,archivo,linea,numeroDocumento,tipo) values (@detalle,@fecha,@archivo,@linea,@numeroDocumento,@tipo)"); DB.AsignarParametroCadena("@detalle", ex.Message); DB.AsignarParametroCadena("@fecha", System.DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); DB.AsignarParametroCadena("@archivo", ""); DB.AsignarParametroCadena("@linea", ""); DB.AsignarParametroCadena("@tipo", "E-mail"); DB.AsignarParametroCadena("@numeroDocumento", datFact[1] + datFact[2]); DB.EjecutarConsulta1(); DB.Desconectar(); } } } } }