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; } }
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; } }
/// <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); }