Esempio n. 1
0
        private void writeLog()
        {
            try
            {
                const string tag = "|";
                string       log = Environment.NewLine + this.date + tag + this.starttime + tag + this.function +
                                   tag + (string.IsNullOrEmpty(this.sql) ? "" : this.sql.Replace(Environment.NewLine, " ")) +
                                   tag + this.vars + tag + this.endtime + tag + this.user +
                                   tag + (string.IsNullOrEmpty(this.error) ? "" : this.error.Replace(Environment.NewLine, " ")) +
                                   tag + this.info;

                archivos f    = new archivos();
                string   file = f.checkCarpeta(this.LogFolder) + this.LogFile;
                if (f.existeFichero(file))
                {
                    //append to actual log
                    using System.IO.StreamWriter z_varocioStreamWriter = new System.IO.StreamWriter(file, true, System.Text.Encoding.UTF8);
                    z_varocioStreamWriter.Write(log);
                    z_varocioStreamWriter.Close();
                }
                else
                {
                    log = "DATE" + tag + "Start Time" + tag + "Function" + tag + "SQL" +
                          tag + "Variables" + tag + "End Time" + tag + "USER" +
                          tag + "Error Trace" + tag + "Info" + tag + log;
                    f.guardaDato(this.LogFile, log, this.LogFolder);
                }
                f = null;
            }
            catch
            {
                return;
            }
        }
Esempio n. 2
0
 public defLog(string Folder)
 {
     this.date      = DateTime.Today.ToShortDateString();
     this.starttime = DateTime.Now.ToShortTimeString();
     this.endtime   = DateTime.Now.ToShortTimeString();
     this.sql       = string.Empty;
     this.function  = string.Empty;
     this.vars      = string.Empty;
     this.result    = false;
     this.error     = string.Empty;
     try
     {
         if (!string.IsNullOrEmpty(Folder))
         {
             archivos a = new archivos();
             this.folder = a.checkCarpeta(Folder);
             a           = null;
         }
         else
         {
             this.folder = string.Empty;
         }
     }
     catch
     {
         this.folder = string.Empty;
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Función genérica de envío de correo electrónico
        /// </summary>
        /// <param name="eMail">Mail del destinatario. Se admiten varias direccion separadas por ; La ultima tiene que tener ; para saber que esta formateado</param>
        /// <param name="Asunto">Asunto del envio del correo</param>
        /// <param name="cuerpoTexto">Texto que aparecera en el mensaje. Se admite HTML</param>
        /// <param name="empresaRemitente">Nombre de la empresa o persona que envia el mail</param>
        /// <param name="mailRemitente">Mail del remitente (opcional)</param>
        /// <param name="hostSMTP">Servidor de envio</param>
        /// <param name="userName">Nombre de usuario</param>
        /// <param name="userPass">Password de la cuenta</param>
        /// <param name="numDestinatarios">Numero de destinatarios en cada envio. Defecto 50</param>
        /// <param name="filename">Nombre del archivo a enviar</param>
        /// <param name="folder">Carpeta para almacenar el archivo con letra de unidad (c:\tmp, e:\tmp)</param>
        /// <param name="temp">Indicar si el archiv es temporal o debe ser borrado</param>
        /// <returns>
        /// Devuelve true si el envío ha sido satisfactorio
        /// </returns>
        public bool EnviarMail(string eMail, string Asunto, string cuerpoTexto,
                               string empresaRemitente, string mailRemitente, string hostSMTP, string userName,
                               string userPass, int numDestinatarios = 50, bool IsBodyHtml = false,
                               string filename = "", string folder = "", bool temp = false)
        {
            bool bResutado = true;

            // preparar el correo en fotmato HTML
            if (eMail != "")
            {
                // ENVÍO DEL FORMULARIO DE CONTACTO
                // variables para la gestión del correo
                MailMessage correo = new MailMessage();
                SmtpClient  smtp   = new SmtpClient(hostSMTP);
                // identificación de usuario
                NetworkCredential userCredentials = new NetworkCredential(userName, userPass);
                smtp.EnableSsl   = true;
                smtp.Credentials = userCredentials;
                // agregar remitente
                MailAddress emailRemitente;
                try
                {
                    emailRemitente = new MailAddress(mailRemitente, empresaRemitente);
                }
                catch
                {
                    emailRemitente = new MailAddress("*****@*****.**", empresaRemitente);
                }
                correo.From = emailRemitente;
                correo.ReplyToList.Add(emailRemitente);
                // agregar el asunto
                correo.Subject = Asunto;
                // propiedades del mail
                correo.Priority   = MailPriority.Normal;
                correo.IsBodyHtml = IsBodyHtml;
                // cuerpo del mail
                correo.Body = cuerpoTexto;

                //comprobar que no tiene un fichero adjunto
                if (filename != "")
                {
                    //adjuntar el archivo fisicamente
                    filename = folder + filename;
                    //comprobamos si existe el archivo y lo agregamos a los adjuntos
                    archivos a = new archivos();
                    if (a.existeFichero(filename))
                    {
                        correo.Attachments.Add(new Attachment(a.GetStreamFile(filename), System.IO.Path.GetFileName(filename)));
                        //
                        // se elimina el archivo porque no estara bloqueado y y era un archivo temporal
                        //
                        if (temp == true)
                        {
                            a.borrarArchivo(filename);
                        }
                    }
                    a = null;
                }

                //hacer el envio a todas las direcciones encontradas
                if (eMail.IndexOf(";") > 0)
                {
                    // extraer las direcciones
                    string[] Direcciones = eMail.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);


                    byte s       = 1;
                    bool enviado = false;

                    // recorrer las direcciones para realizar el envio
                    foreach (string item in Direcciones)
                    {
                        if (item != "")
                        {
                            //comprobar que tiene @
                            if (item.IndexOf("@") > 0)
                            {
                                MailAddress nuevoCorreo = new MailAddress(item);
                                correo.Bcc.Add(nuevoCorreo);
                            }

                            if (s <= numDestinatarios)
                            {
                                try
                                {
                                    smtp.Send(correo);
                                    enviado = true;
                                }
                                catch
                                {
                                    enviado   = false;
                                    bResutado = false;
                                }
                                finally
                                {
                                    correo.Bcc.Clear();
                                }
                                s = 0;          // reseteamos para volver a enviar a otro grupo de correos
                            }
                            else
                            {
                                enviado = false;
                            }
                        }
                        s++;
                    }
                    // enviar al resto de destinatarios
                    if (enviado == false)
                    {
                        try
                        {
                            smtp.Send(correo);
                        }
                        catch
                        {
                            bResutado = false;
                        }
                    }
                }
                else
                {
                    // solo hay un destinatario
                    try
                    {
                        //MailAddress nuevoCorreo = new MailAddress(eMail);
                        //correo.To.Add(nuevoCorreo);
                        correo.To.Add(eMail);
                        smtp.Send(correo);
                    }
                    catch
                    {
                        bResutado = false;
                    }
                }
                correo.Dispose();
                smtp.Dispose();
            }

            return(bResutado);
        }