예제 #1
0
 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); }
 }
예제 #2
0
        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";
            }
        }
예제 #3
0
        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();
                        }
                    }
                }
            }
        }