public bool GrabarMensajeDB(mail_Mensaje_Info infoMensaje, ref string MensajeError) { try { Boolean Res = false; int secuencial = 0; Res = Odata.GrabarMensajeDB(infoMensaje, ref MensajeError); if (Res) { mail_Mensaje_Archi_Adjunto_Bus Bus_ArchivoAdjunto = new mail_Mensaje_Archi_Adjunto_Bus(); foreach (var item in infoMensaje.list_Archivos_Adjuntos) { secuencial = secuencial + 1; item.IdMensaje = infoMensaje.IdMensaje; item.Secuencia = secuencial; Bus_ArchivoAdjunto.EmailGuardarArchivoAdjunto(item, ref MensajeError); } } return(Res); } catch (Exception) { return(false); } }
public bool Eliminar_Mensaje(mail_Mensaje_Info correoInfo, ref string mensajeError) { try { using (EntitiesFactElectronica oEnti = new EntitiesFactElectronica()) { var Reg_a_Modificar = oEnti.mail_Mensaje.First(var => var.IdMensaje == correoInfo.IdMensaje); Reg_a_Modificar.IdTipo_Mensaje = "Eliminado"; Reg_a_Modificar.Eliminado = true; oEnti.SaveChanges(); } return(true); } catch (Exception ex) { mensajeError = ex.InnerException + " " + ex.Message; tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, mensajeError, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensajeError); return(false); } }
void Enviar_mail_masivo() { try { mail_Mensaje_Bus BusMail = new mail_Mensaje_Bus(); mail_Mensaje_Info InfoMail = new mail_Mensaje_Info(); string MensajeError = ""; List <tb_Comprobante_Info> listComprobantesValidosChequeados = new List <tb_Comprobante_Info>(); listComprobantesValidosChequeados = (from C in listComprobanteRecixSRI where C.Checked == true select C).ToList(); foreach (var item in listComprobantesValidosChequeados) { BusMail.Envio_Cbte_x_correo(item, new List <string>(), item.Nom_emisor, item.EstadoDoc, "2", eTipoEnvioMail.RENVIO, ref MensajeError); } } catch (Exception ex) { BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public List <mail_Mensaje_Info> consultar_Mail() { try { List <mail_Mensaje_Info> lista = new List <mail_Mensaje_Info>(); using (EntitiesFactElectronica conexion = new EntitiesFactElectronica()) { var q = (from C in conexion.mail_Mensaje select C).ToList(); IQueryable <mail_Mensaje_Info> lista1; foreach (var item in q) { mail_Mensaje_Info infoC = new mail_Mensaje_Info(); infoC.IdMensaje = item.IdMensaje; infoC.Fecha = item.Fecha; infoC.Para = item.Para; infoC.Para_CCO = item.Para_CCO; infoC.Asunto = item.Asunto; infoC.Asunto_texto_mostrado = item.Asunto_texto_mostrado; infoC.Tiene_Adjunto = item.Tiene_Adjunto; infoC.Prioridad = item.Prioridad; infoC.Leido = item.Leido; infoC.Respondido = item.Respondido; infoC.IdTipo_Mensaje = (eTipoMail)Enum.Parse(typeof(eTipoMail), item.IdTipo_Mensaje); infoC.Texto_mensaje = item.Texto_mensaje; infoC.IdContribuyente = Convert.ToDecimal(item.IdContribuyente); infoC.No_Leido = item.No_Leido; infoC.Eliminado = item.Eliminado; infoC.mail_remitente = item.mail_remitente; infoC.Para_CC = item.Para_CC; infoC.codMensajeId = item.codMensajeId; infoC.IdCuenta = item.IdCuenta; lista.Add(infoC); } } return(lista); } catch (Exception ex) { mensajeError = ex.InnerException + " " + ex.Message; tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, mensajeError, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensajeError); return(new List <mail_Mensaje_Info>()); } }
private void gridViewVisorMail_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { try { mail_Mensaje_Info InfoMensaje = new mail_Mensaje_Info(); switch (e.Column.Name) { case "colcheck": if ((bool)gridViewVisorMail.GetFocusedRowCellValue(colcheck)) { gridViewVisorMail.SetFocusedRowCellValue(colcheck, false); } else { gridViewVisorMail.SetFocusedRowCellValue(colcheck, true); } break; case "ColEliminar": InfoMensaje = new mail_Mensaje_Info(); InfoMensaje = (mail_Mensaje_Info)gridViewVisorMail.GetFocusedRow(); if (MessageBox.Show("Esta seguro de borrar este correo ..", "Mail", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { Bus_Mensaje.Eliminar_Mensaje(InfoMensaje, ref mensajeError); btn_Refresh_Click(null, null); } break; case "ColIcono": InfoMensaje = new mail_Mensaje_Info(); InfoMensaje = (mail_Mensaje_Info)gridViewVisorMail.GetFocusedRow(); Llamar_form_redactar_mail(InfoMensaje); break; default: break; } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public bool Eliminar_Mensaje(mail_Mensaje_Info correoInfo, ref string mensajeError) { try { return(Odata.Eliminar_Mensaje(correoInfo, ref mensajeError)); } catch (Exception) { return(false); } }
public bool Actualizar_TipoMensaje(mail_Mensaje_Info correoInfo, ref string mensajeError) { try { return(Odata.Actualizar_TipoMensaje(correoInfo, ref mensajeError)); } catch (Exception) { return(false); } }
public void set(mail_Mensaje_Info info) { try { uC_Menu_Redactar_Email1.setInfo(info); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
private void gridViewVisorMail_DoubleClick(object sender, EventArgs e) { try { Info = new mail_Mensaje_Info(); Info = this.gridViewVisorMail.GetFocusedRow() as mail_Mensaje_Info; Llamar_form_redactar_mail(Info); } catch (Exception ex) { } }
private Boolean Validacion_x_Mensaje(mail_Mensaje_Info MensajeInfo, ref string mensajeErrorOut) { try { string IdCuenta_mail = ""; if (MensajeInfo.InfoContribuyente == null) { mensajeErrorOut = "No existe contribuyente en el objeto MensajeInfo"; return(false); } mail_Cuentas_Correo_Info InfoCtaMail_Remitente = new mail_Cuentas_Correo_Info(); if (listMail_x_Empresa.Count > 0) { var qMail = from C in listMail_x_Empresa where C.IdEmpresa == MensajeInfo.InfoContribuyente.IdEmpresa select C; if (qMail.Count() > 0) { foreach (var item in qMail) { IdCuenta_mail = item.IdCuenta; } } else { mensajeErrorOut = "No Existe cuenta de correo relacionada con el emisor verique en configuracion de cuenta de correo"; return(false); } } else { mensajeErrorOut = "No Existe cuenta de correo relacionada con el emisor verique en configuracion de cuenta de correo"; return(false); } return(true); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); return(false); } }
private void gridViewVisorMail_DoubleClick(object sender, EventArgs e) { try { Info = new mail_Mensaje_Info(); Info = this.gridViewVisorMail.GetFocusedRow() as mail_Mensaje_Info; Llamar_form_redactar_mail(Info); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public void setInfo(mail_Mensaje_Info info) { try { txt_correo_destinatario.Text = info.Para; txt_correo_destinatario_CC.Text = info.Para_CC; txtAsunto.Text = info.Asunto; txt_mensaje.Text = info.Texto_mensaje; cmbDestinatarios.EditValue = info.InfoContribuyente.IdContribuyente; //consultar tabla mail_Mensaje_Archi_Adjunto string mensajeError = ""; List <mail_Mensaje_Archi_Adjunto_Info> listaMenArchiAdj = new List <mail_Mensaje_Archi_Adjunto_Info>(); listaMenArchiAdj = Bus_ArchivoAdjunto.Lista_ArchivoAdjunto_Mensaje_x_comprobante(info.IdMensaje, ref mensajeError); Listadors_de_Comprobante_Emisor = new BindingList <tb_Comprobante_Info>(Bus_Comprobante_emisor.ComprobantesPorEmisor(info.InfoContribuyente.cedulaRuc_contri, ref mensajeError)); gridControlComprobantes.DataSource = Listadors_de_Comprobante_Emisor; if (listaMenArchiAdj.Count > 0) { foreach (var itemFileAdjuntosxMensaje in listaMenArchiAdj) { foreach (var item in Listadors_de_Comprobante_Emisor) { if (item.IdEmpresa == itemFileAdjuntosxMensaje.IdEmpresa && item.IdComprobante == itemFileAdjuntosxMensaje.IdComprobante) { item.Checked = true; } } } gridControlComprobantes.RefreshDataSource(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
private void Llamar_form_redactar_mail(mail_Mensaje_Info InfoMail) { try { Info.Asunto = "RE:" + Info.Asunto; Info.Asunto_texto_mostrado = "RE:" + Info.Asunto_texto_mostrado; Frm_Redactar_Email ofrm = new Frm_Redactar_Email(); ofrm.set_label_buton_enviar("Reenviar"); ofrm.set(Info); ofrm.ShowDialog(); btn_Refresh_Click(null, null); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public bool Actualizar_TipoMensaje(mail_Mensaje_Info correoInfo, ref string mensajeError) { try { using (EntitiesFactElectronica oEnti = new EntitiesFactElectronica()) { var Reg_a_Modificar = oEnti.mail_Mensaje.First(var => var.IdMensaje == correoInfo.IdMensaje); Reg_a_Modificar.IdTipo_Mensaje = correoInfo.IdTipo_Mensaje.ToString(); oEnti.SaveChanges(); } return(true); } catch (Exception) { return(false); } }
private void gridView2_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { try { mail_Mensaje_Info InfoMail = new mail_Mensaje_Info(); if (e.Column.Name == "colMosTrar_icono_Ride") { //MessageBox.Show("RIDE"); InfoMail = (mail_Mensaje_Info)gridView2.GetFocusedRow(); string RutaFile = Path.GetTempPath(); var item2 = lista_Adjunto.FirstOrDefault(q => q.IdMensaje == InfoMail.IdMensaje); if (item2 != null) { if (item2.extensionArchivo == ".pdf") { RutaFile = RutaFile + "\\" + item2.descripcion_archi; // System.IO.File.WriteAllBytes("myfile.pdf", item2.Archivo_adjunto); System.IO.File.WriteAllBytes(RutaFile, item2.Archivo_adjunto); // RutaFile = RutaFile + "\\" "myfile.pdf"; // File.WriteAllBytes(@"C:\testpdf.pdf", myArrayOfBytes); System.Diagnostics.Process proc = new System.Diagnostics.Process(); // proc.StartInfo.FileName = "C:\\FA-001-001-000023456.pdf"; proc.StartInfo.FileName = RutaFile; proc.Start(); proc.Close(); } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void gridControl_Correo_DoubleClick(object sender, EventArgs e) { try { infoMensaje = new mail_Mensaje_Info(); infoMensaje = (mail_Mensaje_Info)gridView_Correo.GetFocusedRow(); if (infoMensaje.fileName == null) { string RutaFile = Path.GetTempPath(); int pos = RutaFile.LastIndexOf('\\'); if (pos != -1) { RutaFile = RutaFile.Substring(0, pos); } m_curpath = RutaFile; string uidlfile = String.Format("{0}\\{1}", m_curpath, infoMensaje.codMensajeId); System.IO.File.WriteAllBytes(uidlfile, infoMensaje.Archivo_correo); ShowMail(uidlfile); } else { ShowMail(infoMensaje.fileName); } // ShowMail(infoMensaje.fileName); } catch (Exception ex) { BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); MessageBox.Show(ex.Message.ToString()); } }
public Boolean Enviar_Correo_hold(mail_Mensaje_Info MensajeInfo, ref string mensajeErrorOut) { string SConfigCta = ""; try { if (param.AUTORIZADO_ENVIO_CORREO == false) { mensajeErrorOut = "No esta autorizado para envio de correo "; return(false); } string mensajeError = ""; string tipo_conex_cifrada_smtp = ""; //optengo el nombre de la pc para saber desde donde se envi el correo para auditar la duplicacion... MensajeInfo.Texto_mensaje = MensajeInfo.Texto_mensaje + " PC/Envio: " + Funciones.Get_Nombre_PC(); ///////////// mail_Cuentas_Correo_Info InfoCtaMail_Remitente = new mail_Cuentas_Correo_Info(); InfoCtaMail_Remitente = listMail_cta.FirstOrDefault(v => v.IdCuenta == MensajeInfo.IdCuenta); if (listMail_x_Empresa.Count == 0) { mensajeErrorOut = "No Existe cuentas para envio de correo configuradas en la base "; return(false); } if (InfoCtaMail_Remitente == null || InfoCtaMail_Remitente.IdCuenta == null) { mensajeErrorOut = "No existe una cuenta relaciona en la base para la cuenta del mensaje verique por base"; return(false); } if (!mailValida.email_bien_escrito(MensajeInfo.Para)) { mensajeErrorOut = "La cuenta de correo es Invalida "; MensajeInfo.IdTipo_Mensaje = eTipoMail.Mail_NO_Env_x_error; datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut); return(false); } if (MensajeInfo.IdCuenta == "" || MensajeInfo.IdCuenta == null) { InfoCtaMail_Remitente = listMail_cta.FirstOrDefault(v => v.cta_predeterminada == true); MensajeInfo.IdCuenta = InfoCtaMail_Remitente.IdCuenta; MensajeInfo.mail_remitente = InfoCtaMail_Remitente.direccion_correo; datamaMail.Actualizar_Datos_Cuenta(MensajeInfo, ref mensajeErrorOut); mensajeErrorOut = "la Cuenta Remitente no esta establecido en el mensaje se enviara con la cuenta por default ..."; } SmtpMail oSmtpMail_msg = new SmtpMail("ES-C1407722592-00106-56VB4AE2B4F8TB75-641B598EBE4D439A"); SmtpServer oSmtpServer = new SmtpServer(InfoCtaMail_Remitente.ServidorCorreoSaliente, InfoCtaMail_Remitente.Port_salida); EASendMail.SmtpClient oclienteSmtp = new EASendMail.SmtpClient(); if (InfoCtaMail_Remitente.Confirmacion_de_Entrega == true || InfoCtaMail_Remitente.Confirmacion_de_Lectura == true) { oSmtpMail_msg.DeliveryNotification = EASendMail.DeliveryNotificationOptions.OnFailure | EASendMail.DeliveryNotificationOptions.OnSuccess | EASendMail.DeliveryNotificationOptions.Delay; if (InfoCtaMail_Remitente.Confirmacion_de_Lectura == true) { oSmtpMail_msg.Headers.Add("Read-Receipt-To", InfoCtaMail_Remitente.direccion_correo); } if (InfoCtaMail_Remitente.Confirmacion_de_Entrega == true) { oSmtpMail_msg.Headers.Add("Disposition-Notification-To", InfoCtaMail_Remitente.direccion_correo); } } // si tiene archivo adjunto if (MensajeInfo.Tiene_Adjunto == true) { #region codigo viejo q actualiza el campo de mail #endregion //optengo los archivos adjuntos MensajeInfo.list_Archivos_Adjuntos = OdataArchivoAdjunto.Lista_ArchivoAdjunto_Mensaje_x_comprobante(MensajeInfo.IdMensaje, ref mensajeErrorOut); foreach (var item in MensajeInfo.list_Archivos_Adjuntos) { comprobante = new tb_Comprobante_Info(); comprobante = Bus_Comprobante_emisor.Comprobante_consulta_Id_Comprobante(item.IdEmpresa, item.IdComprobante, ref mensajeError); byte[] BinarioFileAdjunto = null; if (comprobante.IdComprobante != null) { // si la extencion ex .pdf lo creo en el tmp if (item.extensionArchivo.ToUpper() == ".PDF") { XtraReport Reporte = new XtraReport(); Rpt_Ride_bus Rpt_Ride_Bus = new Rpt_Ride_bus(listEmpr); Reporte = Rpt_Ride_Bus.Optener_reporte(comprobante, ref mensajeError); //pdf FileStream FileBinary; FileBinary = new FileStream(RutaArchivos + "\\" + comprobante.IdComprobante + ".pdf", FileMode.Create); DevExpress.XtraPrinting.PdfExportOptions Optione = new DevExpress.XtraPrinting.PdfExportOptions(); Reporte.ExportToPdf(FileBinary, Optione); FileBinary.Close(); // lleno la clase archivo adjunto con el pdf que se creo en el tmp DirectoryInfo Directorio_Pdf_Xml = new DirectoryInfo(RutaArchivos); List <FileInfo> listaFiles = Directorio_Pdf_Xml.GetFiles(comprobante.IdComprobante + ".pdf").ToList(); foreach (var itemBi in listaFiles) { FileStream file = new FileStream(RutaArchivos + itemBi.Name, FileMode.Open); BinarioFileAdjunto = new byte[file.Length]; file.Read(BinarioFileAdjunto, 0, Convert.ToInt32(file.Length)); file.Close(); } } } // LLENO EL BINARIO PARA EL XML if (item.extensionArchivo.ToUpper() == ".XML") { XmlDocument xmlOrigen = new XmlDocument(); xmlOrigen.Load(new StringReader(comprobante.s_XML)); BinarioFileAdjunto = Encoding.UTF8.GetBytes(xmlOrigen.OuterXml); } oSmtpMail_msg.AddAttachment(item.IdComprobante + item.extensionArchivo, BinarioFileAdjunto); } } tipo_conex_cifrada_smtp = InfoCtaMail_Remitente.tipo_Seguridad; if (InfoCtaMail_Remitente.tipo_Seguridad != "Ninguno") { oSmtpServer.User = InfoCtaMail_Remitente.Usuario; oSmtpServer.Password = InfoCtaMail_Remitente.Password; } switch (tipo_conex_cifrada_smtp) { case "SSL": oSmtpServer.ConnectType = SmtpConnectType.ConnectSSLAuto; oSmtpServer.Port = 465; break; case "TLS": oSmtpServer.ConnectType = SmtpConnectType.ConnectSSLAuto; break; case "Ninguno": oSmtpServer.ConnectType = SmtpConnectType.ConnectNormal; break; case "STARTTLS": oSmtpServer.ConnectType = SmtpConnectType.ConnectSTARTTLS; break; default: oSmtpServer.ConnectType = SmtpConnectType.ConnectNormal; break; } oSmtpMail_msg.To.Add(new EASendMail.MailAddress(MensajeInfo.Para)); if (MensajeInfo.Para_CC != "" && MensajeInfo.Para_CC != null) { string[] slistaCorreo = MensajeInfo.Para_CC.Split(';'); foreach (var item in slistaCorreo) { oSmtpMail_msg.Cc.Add(new EASendMail.MailAddress(item.Trim())); } } oSmtpMail_msg.From = new EASendMail.MailAddress(InfoCtaMail_Remitente.direccion_correo); oSmtpMail_msg.Subject = MensajeInfo.Asunto; oSmtpMail_msg.TextBody = MensajeInfo.Texto_mensaje; SConfigCta = "msg.From :" + oSmtpMail_msg.From.ToString() + "\n"; SConfigCta = SConfigCta + " msg.To:" + oSmtpMail_msg.To.ToString() + "\n"; SConfigCta = SConfigCta + " msg.Subject " + oSmtpMail_msg.Subject.ToString() + "\n"; SConfigCta = SConfigCta + "msg.Body :" + oSmtpMail_msg.TextBody.ToString() + "\n"; SConfigCta = SConfigCta + "oSmtpServer.Port:" + oSmtpServer.Port.ToString() + "\n"; SConfigCta = SConfigCta + " oSmtpServer.User:"******"\n"; SConfigCta = SConfigCta + " oSmtpServer.Password:"******"\n"; SConfigCta = SConfigCta + " oSmtpServer.Protocol :" + oSmtpServer.Protocol + "\n"; if (MensajeInfo.Para == "") { mensajeErrorOut = "No hay cuenta de correo a quien enviar "; return(false); } //enviando correo oclienteSmtp.SendMail(oSmtpServer, oSmtpMail_msg); if (MensajeInfo.IdMensaje > 0)// modificar { MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado; datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut); } else { MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado; datamaMail.GrabarMensajeDB(MensajeInfo, ref mensajeErrorOut); } return(true); } catch (Exception ex) { mensajeErrorOut = "catch (SmtpException ex) : " + ex.Message + " " + ex.InnerException + " datos de la cta:" + SConfigCta; return(false); } }
private void BtnEnviarMail_Click(object sender, EventArgs e) { txt_correo_destinatario.Focus(); //if (ValidarCorreo.email_bien_escrito(txt_correo_destinatario.Text) == false) //{ // MessageBox.Show("Correo destinatario esta mal escrito ... Error mail no valido"); // return; //} listadosArchivoaAdjunto = new List <mail_Mensaje_Archi_Adjunto_Info>(); if (ValidarTxt() == true) { return; } Int32 Secuencia_Archivo_Adjunto = Bus_ArchivoAdjunto.SecuenciaArchivoAdjunto(); bool BCorreo_GraboOk; try { tb_Contribuyente_Info InfoContribuyente = ListaInfoContribuyente.FirstOrDefault(var => var.IdContribuyente == Convert.ToDecimal(cmbDestinatarios.EditValue)); mail_Mensaje_Info Mensaje = new mail_Mensaje_Info(); Mensaje.InfoContribuyente = InfoContribuyente; Mensaje.IdContribuyente = InfoContribuyente.IdContribuyente; Mensaje.Para = txt_correo_destinatario.Text; Mensaje.Para_CC = txt_correo_destinatario_CC.Text; Mensaje.Asunto = txtAsunto.Text; Mensaje.Texto_mensaje = txt_mensaje.Text; Mensaje.IdTipo_Mensaje = eTipoMail.Buzon_Sal; Mensaje.Fecha = DateTime.Now; Mensaje.Eliminado = false; Mensaje.Respondido = false; Mensaje.Leido = true; if (lbRuta.Text == "") { Mensaje.Tiene_Adjunto = false; } else { Mensaje.Tiene_Adjunto = true; } Mensaje.Prioridad = 1; Mensaje.No_Leido = false; Mensaje.mail_remitente = InfoContribuyente.Mail; // lleno la clase de archivos adjuntos con los item check =true //Listadors_de_Comprobante_Emisor var lista_Filtrada = from filtrado in Listadors_de_Comprobante_Emisor where filtrado.Checked == true select filtrado; //recorro los cbtes chequeados foreach (var item in lista_Filtrada) { try { mail_Mensaje_Archi_Adjunto_Info FilePdf = new mail_Mensaje_Archi_Adjunto_Info(); FilePdf.descripcion_archi = item.IdComprobante + ".pdf"; FilePdf.extensionArchivo = ".pdf"; FilePdf.Archivo_adjunto = null; FilePdf.Archivo_adjunto_stream = null; FilePdf.IdComprobante = item.IdComprobante; listadosArchivoaAdjunto.Add(FilePdf); FilePdf.Secuencia = 1; FilePdf.IdEmpresa = item.IdEmpresa; mail_Mensaje_Archi_Adjunto_Info FileXML = new mail_Mensaje_Archi_Adjunto_Info(); FileXML.descripcion_archi = item.IdComprobante + ".xml"; FileXML.extensionArchivo = ".xml"; FileXML.Archivo_adjunto = null; FileXML.Archivo_adjunto_stream = null; FileXML.IdComprobante = item.IdComprobante; listadosArchivoaAdjunto.Add(FileXML); FileXML.Secuencia = 2; FileXML.IdEmpresa = item.IdEmpresa; if (lbRuta.Text != "Ruta del Archivo Adjunto") { AdjuntoInfo = new mail_Mensaje_Archi_Adjunto_Info(); AdjuntoInfo.IdMensaje = BusMensaje.IdMensaje(); AdjuntoInfo.Secuencia = Secuencia_Archivo_Adjunto; FileStream file = new FileStream(lbRuta.Text, FileMode.Open); Byte[] ArchivoAdjunto = new byte[file.Length]; file.Read(ArchivoAdjunto, 0, Convert.ToInt32(file.Length)); AdjuntoInfo.Archivo_adjunto = ArchivoAdjunto; AdjuntoInfo.extensionArchivo = Path.GetExtension(lbRuta.Text); AdjuntoInfo.descripcion_archi = Path.GetFileName(lbRuta.Text); listadosArchivoaAdjunto.Add(AdjuntoInfo); Secuencia_Archivo_Adjunto = Secuencia_Archivo_Adjunto + 1; file.Close(); } } catch (Exception ex) { BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } } Mensaje.list_Archivos_Adjuntos = listadosArchivoaAdjunto;//le asigno la lista de archivo adjunto a la clase mensaje que lleva los datos para enviar el correo DialogResult result = DialogResult.Yes; if (txtAsunto.Text == "") { result = MessageBox.Show("El Mensaje no Tiene Asunto Desea Enviar sin Asunto?", "MailEfirm", MessageBoxButtons.YesNoCancel); } if (result == DialogResult.Yes) { mail_Cuentas_Correo_x_Empresa_Info InfoCtaxCorreo = new mail_Cuentas_Correo_x_Empresa_Info(); mail_Cuentas_Correo_Info InfoCtaCorreo = new mail_Cuentas_Correo_Info(); listmail_Cuentas_Correo_x_Empresa = Busmail_Cuentas_Correo_x_Empresa.Consulta_mail_Cuentas_Correo_x_Empresa(ref message); InfoCtaxCorreo = listmail_Cuentas_Correo_x_Empresa.Find(v => v.IdEmpresa == Mensaje.InfoContribuyente.IdEmpresa); InfoCtaCorreo = listmail_Cuentas_Correo.Find(v => v.IdCuenta == InfoCtaxCorreo.IdCuenta); Mensaje.IdCuenta = InfoCtaCorreo.IdCuenta; Mensaje.mail_remitente = InfoCtaCorreo.direccion_correo; BCorreo_GraboOk = BusMensaje.GrabarMensajeDB(Mensaje, ref referencia); if (BCorreo_GraboOk == true) { try { if (InfoCtaCorreo.enviar_copia_x_cada_mail_enviado == true) { Mensaje.Asunto = "Copia Bak. " + Mensaje.Asunto; Mensaje.Asunto_texto_mostrado = "Copia Bak. " + Mensaje.Asunto_texto_mostrado; Mensaje.IdMensaje = 0; Mensaje.Para = InfoCtaCorreo.cta_mail_para_envio_x_cbte_enviado; BCorreo_GraboOk = BusMensaje.GrabarMensajeDB(Mensaje, ref referencia); } } catch (Exception) { } Event_Correo_generado(); } else { MessageBox.Show("Correo No Guardado Coreectamente"); } } else if (result == DialogResult.No) { txtAsunto.Focus(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public Boolean Enviar_Correo(mail_Mensaje_Info MensajeInfo, ref string mensajeErrorOut) { string SConfigCta = ""; try { if (param.AUTORIZADO_ENVIO_CORREO == false) { mensajeErrorOut = "No esta autorizado para envio de correo "; return(false); } string mensajeError = ""; string tipo_conex_cifrada_smtp = ""; //optengo el nombre de la pc para saber desde donde se envi el correo para auditar la duplicacion... MensajeInfo.Texto_mensaje = MensajeInfo.Texto_mensaje + " PC/Envio: " + Funciones.Get_Nombre_PC(); ///////////// mail_Cuentas_Correo_Info InfoCtaMail_Remitente = new mail_Cuentas_Correo_Info(); InfoCtaMail_Remitente = listMail_cta.FirstOrDefault(v => v.IdCuenta == MensajeInfo.IdCuenta); if (listMail_x_Empresa.Count == 0) { mensajeErrorOut = "No Existe cuentas para envio de correo configuradas en la base "; return(false); } if (InfoCtaMail_Remitente == null || InfoCtaMail_Remitente.IdCuenta == null) { mensajeErrorOut = "No existe una cuenta relaciona en la base para la cuenta del mensaje verique por base"; return(false); } //if (!mailValida.email_bien_escrito(MensajeInfo.Para)) //{ // mensajeErrorOut = "La cuenta de correo es Invalida "; // MensajeInfo.IdTipo_Mensaje = eTipoMail.Mail_NO_Env_x_error; // datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut); // return false; //} if (MensajeInfo.IdCuenta == "" || MensajeInfo.IdCuenta == null) { InfoCtaMail_Remitente = listMail_cta.FirstOrDefault(v => v.cta_predeterminada == true); MensajeInfo.IdCuenta = InfoCtaMail_Remitente.IdCuenta; MensajeInfo.mail_remitente = InfoCtaMail_Remitente.direccion_correo; datamaMail.Actualizar_Datos_Cuenta(MensajeInfo, ref mensajeErrorOut); mensajeErrorOut = "la Cuenta Remitente no esta establecido en el mensaje se enviara con la cuenta por default ..."; } MailMessage oSmtpMail_msg = new MailMessage(); // si tiene archivo adjunto if (MensajeInfo.Tiene_Adjunto == true) { //optengo los archivos adjuntos MensajeInfo.list_Archivos_Adjuntos = OdataArchivoAdjunto.Lista_ArchivoAdjunto_Mensaje_x_comprobante(MensajeInfo.IdMensaje, ref mensajeErrorOut); foreach (var item in MensajeInfo.list_Archivos_Adjuntos) { comprobante = new tb_Comprobante_Info(); comprobante = Bus_Comprobante_emisor.Comprobante_consulta_Id_Comprobante(item.IdEmpresa, item.IdComprobante, ref mensajeError); byte[] BinarioFileAdjunto = null; if (comprobante.IdComprobante != null) { // si la extencion ex .pdf lo creo en el tmp if (item.extensionArchivo.ToUpper() == ".PDF") { XtraReport Reporte = new XtraReport(); Rpt_Ride_bus Rpt_Ride_Bus = new Rpt_Ride_bus(listEmpr); Reporte = Rpt_Ride_Bus.Optener_reporte(comprobante, ref mensajeError); //pdf FileStream FileBinary; FileBinary = new FileStream(RutaArchivos + "\\" + comprobante.IdComprobante + ".pdf", FileMode.Create); DevExpress.XtraPrinting.PdfExportOptions Optione = new DevExpress.XtraPrinting.PdfExportOptions(); Reporte.ExportToPdf(FileBinary, Optione); FileBinary.Close(); // lleno la clase archivo adjunto con el pdf que se creo en el tmp DirectoryInfo Directorio_Pdf_Xml = new DirectoryInfo(RutaArchivos); List <FileInfo> listaFiles = Directorio_Pdf_Xml.GetFiles(comprobante.IdComprobante + ".pdf").ToList(); foreach (var itemBi in listaFiles) { FileStream file = new FileStream(RutaArchivos + itemBi.Name, FileMode.Open); BinarioFileAdjunto = new byte[file.Length]; file.Read(BinarioFileAdjunto, 0, Convert.ToInt32(file.Length)); file.Close(); } } } // LLENO EL BINARIO PARA EL XML if (item.extensionArchivo.ToUpper() == ".XML") { XmlDocument xmlOrigen = new XmlDocument(); xmlOrigen.Load(new StringReader(comprobante.s_XML)); BinarioFileAdjunto = Encoding.UTF8.GetBytes(xmlOrigen.OuterXml); } oSmtpMail_msg.Attachments.Add(new System.Net.Mail.Attachment(new MemoryStream(BinarioFileAdjunto), item.IdComprobante + item.extensionArchivo)); } } tipo_conex_cifrada_smtp = InfoCtaMail_Remitente.tipo_Seguridad; if (MensajeInfo.Para == "") { return(false); } oSmtpMail_msg.To.Add(MensajeInfo.Para); if (MensajeInfo.Para_CC != "" && MensajeInfo.Para_CC != null) { string[] slistaCorreo = MensajeInfo.Para_CC.Split(';'); foreach (var item in slistaCorreo) { oSmtpMail_msg.CC.Add(item.Trim()); } } oSmtpMail_msg.From = new System.Net.Mail.MailAddress(InfoCtaMail_Remitente.direccion_correo); oSmtpMail_msg.Subject = MensajeInfo.Asunto; oSmtpMail_msg.Body = MensajeInfo.Asunto + "\n\n\n\n"; oSmtpMail_msg.Body = oSmtpMail_msg.Body + " " + MensajeInfo.RazonSocial_Emisor; if (MensajeInfo.Para == "") { mensajeErrorOut = "No hay cuenta de correo a quien enviar "; return(false); } //enviando correo System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(); smtp.Host = InfoCtaMail_Remitente.ServidorCorreoSaliente; smtp.EnableSsl = InfoCtaMail_Remitente.precisa_conexion_cifrada; smtp.Port = InfoCtaMail_Remitente.Port_salida; smtp.Credentials = new NetworkCredential(InfoCtaMail_Remitente.direccion_correo, InfoCtaMail_Remitente.Password); smtp.Send(oSmtpMail_msg); if (MensajeInfo.IdMensaje > 0)// modificar { MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado; datamaMail.Actualizar_TipoMensaje(MensajeInfo, ref mensajeErrorOut); } //else //{ // MensajeInfo.IdTipo_Mensaje = eTipoMail.Enviado; // datamaMail.GrabarMensajeDB(MensajeInfo, ref mensajeErrorOut); //} return(true); } catch (Exception ex) { mensajeErrorOut = "catch (SmtpException ex) : " + ex.Message + " " + ex.InnerException + " datos de la cta:" + SConfigCta; return(false); } }
public void Envio_Cbte_x_correo(tb_Comprobante_Info InfoComprobante_a_firmar, List <string> ListaCorreo, string SNombreEmpresa, string EstadoDoc_Auto_o_NoAuto, string IdAmbiente, eTipoEnvioMail STransaccion_q_envia, ref string mensajeErroOut) { try { Transaccion_q_envia = STransaccion_q_envia; tb_Contribuyente_Info InfoContibuyente = new tb_Contribuyente_Info(); tb_Contribuyente_Bus BusContri = new tb_Contribuyente_Bus(); InfoContibuyente = BusContri.GetContribuyente_Info(InfoComprobante_a_firmar.IdEmpresa, InfoComprobante_a_firmar.Cedula_Ruc, ref mensajeErroOut); string sTipoDoc = optener_nombre_tipo_documento(InfoComprobante_a_firmar.IdTipoDocumento); mail_Mensaje_Bus BusMail = new mail_Mensaje_Bus(); mail_Mensaje_Info InfoMail = new mail_Mensaje_Info(); InfoMail.Asunto = "Ha recibido un nuevo comprobante electronico " + sTipoDoc + " Cbte#" + InfoComprobante_a_firmar.IdComprobante + " "; InfoMail.Asunto_texto_mostrado = "Ha recibido un nuevo comprobante electronico" + sTipoDoc + " Cbte#" + InfoComprobante_a_firmar.IdComprobante + " "; InfoMail.Fecha = DateTime.Now; InfoMail.IdTipo_Mensaje = eTipoMail.Buzon_Sal; mail_Mensaje_Archi_Adjunto_Info FilePdf = new mail_Mensaje_Archi_Adjunto_Info(); FilePdf.descripcion_archi = InfoComprobante_a_firmar.IdComprobante + ".pdf"; FilePdf.extensionArchivo = ".pdf"; FilePdf.Archivo_adjunto = null; FilePdf.Archivo_adjunto_stream = null; FilePdf.Secuencia = 1; FilePdf.IdComprobante = InfoComprobante_a_firmar.IdComprobante; FilePdf.IdEmpresa = InfoComprobante_a_firmar.IdEmpresa; InfoMail.list_Archivos_Adjuntos.Add(FilePdf); mail_Mensaje_Archi_Adjunto_Info FileXML = new mail_Mensaje_Archi_Adjunto_Info(); FileXML.descripcion_archi = InfoComprobante_a_firmar.IdComprobante + ".xml"; FileXML.extensionArchivo = ".xml"; FileXML.Archivo_adjunto = null; FileXML.Archivo_adjunto_stream = null; FileXML.IdComprobante = InfoComprobante_a_firmar.IdComprobante; FileXML.Secuencia = 2; FileXML.IdEmpresa = InfoComprobante_a_firmar.IdEmpresa; InfoMail.list_Archivos_Adjuntos.Add(FileXML); InfoMail.IdContribuyente = InfoContibuyente.IdContribuyente; InfoMail.Prioridad = 0; string CuerpoMensaje = "Estimado(a):" + InfoContibuyente.Nom_Contribuyente + "\n"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + " Se le informa que ha recibido un nuevo comprobante electronico"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Resumen"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Tipo de Documento:" + sTipoDoc + "\n"; CuerpoMensaje = CuerpoMensaje + "No. documento:" + InfoComprobante_a_firmar.IdComprobante + "\n"; CuerpoMensaje = CuerpoMensaje + "Fecha de Emisión:" + InfoComprobante_a_firmar.Fecha_Emi_Fact + "\n"; CuerpoMensaje = CuerpoMensaje + "No.Autorizacion:" + InfoComprobante_a_firmar.Numero_Autorizacion + "\n"; CuerpoMensaje = CuerpoMensaje + "Fecha Autorizacion:" + InfoComprobante_a_firmar.FechaAutorizacion + "\n"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Ahorremos papel y ayudemos al medio ambiente! "; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Atentamente,"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + SNombreEmpresa; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + " Tr-Efirm:" + STransaccion_q_envia; InfoMail.Texto_mensaje = CuerpoMensaje; InfoMail.Tiene_Adjunto = true; InfoMail.InfoContribuyente = InfoContibuyente; mail_Cuentas_Correo_x_Empresa_Info InfoCuentaCorreo_ = new mail_Cuentas_Correo_x_Empresa_Info(); mail_Cuentas_Correo_Info InfoCta_remitente = new mail_Cuentas_Correo_Info(); if (listmail_cuentas_correo_x_empresa != null) { InfoCuentaCorreo_ = listmail_cuentas_correo_x_empresa.Find(v => v.IdEmpresa == InfoComprobante_a_firmar.IdEmpresa); if (InfoCuentaCorreo_.IdCuenta != null) { InfoCta_remitente = listmail_Cuentas_Correo.Find(v => v.IdCuenta == InfoCuentaCorreo_.IdCuenta); InfoMail.IdCuenta = InfoCta_remitente.IdCuenta; InfoMail.mail_remitente = InfoCta_remitente.direccion_correo; } } Boolean Envio_Correo_al_cliente = false; if (EstadoDoc_Auto_o_NoAuto == "AUTORIZADO" && IdAmbiente == "2") { if (Bus_Archivo_Adjunto.Verificar_Correo_Existe(InfoComprobante_a_firmar.IdEmpresa, InfoComprobante_a_firmar.IdComprobante, ref mensajeErroOut)) { if (Convert.ToString(Transaccion_q_envia) == "NUEVO") { return; } } if (ListaCorreo.Count > 0)// si hay correo envio con ese correo { foreach (var itemCorreo in ListaCorreo) { InfoMail.Para = itemCorreo; if (InfoCta_remitente.enviar_copia_x_cada_mail_enviado == true) { InfoMail.Para_CCO = InfoCta_remitente.cta_mail_para_envio_x_cbte_enviado; } BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); Envio_Correo_al_cliente = true; } } else // envio un solo correo con el mail de contribuyente { InfoMail.Para = InfoContibuyente.Mail; if (InfoCta_remitente.enviar_copia_x_cada_mail_enviado == true) { InfoMail.Para_CCO = InfoCta_remitente.cta_mail_para_envio_x_cbte_enviado; } BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); Envio_Correo_al_cliente = true; } //if (Envio_Correo_al_cliente == true)// solo si envio correo al cliente envio una copia //{ // if (InfoCta_remitente.enviar_copia_x_cada_mail_enviado == true) // { // InfoMail.Para = InfoCta_remitente.cta_mail_para_envio_x_cbte_enviado; // InfoMail.Asunto = "Copia.." + InfoMail.Asunto; // BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); // } //} } else if (EstadoDoc_Auto_o_NoAuto == "NO AUTORIZADO") { if (InfoCta_remitente.enviar_mail_x_cada_cbte_no_auto == true) { InfoMail.Para = InfoCta_remitente.cta_mail_para_envio_x_cbte_no_auto; InfoMail.Asunto = "Alerta.. cbte No Autorizado.. " + InfoMail.Asunto; BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); } } } catch (Exception ex) { } }
private void btnStart_Click(object sender, EventArgs e) { try { string server, user, password; //server = textServer.Text.Trim(); //user = textUser.Text.Trim(); //password = textPassword.Text.Trim(); server = "mail.it-corp.com"; user = "******"; password = "******"; //user = "******"; //password = "******"; if (server.Length == 0 || user.Length == 0 || password.Length == 0) { MessageBox.Show("Por favor ingrese servidor, usuario y contraseña."); return; } btnStart.Enabled = false; btnCancel.Enabled = true; ServerAuthType authType = ServerAuthType.AuthLogin; if (lstAuthType.SelectedIndex == 1) { authType = ServerAuthType.AuthCRAM5; } else if (lstAuthType.SelectedIndex == 2) { authType = ServerAuthType.AuthNTLM; } ServerProtocol protocol = (ServerProtocol)lstProtocol.SelectedIndex; MailServer oServer = new MailServer(server, user, password, chkSSL.Checked, authType, protocol); // Para el uso de la evaluación, por favor utilice "TryIt" como el código de licencia, de lo contrario el // será lanzado excepción "código de licencia no válida". Sin embargo, el objeto expirará en 1-2 meses, y luego // "versión de prueba expiró" se lanzará una excepción. MailClient oClient = new MailClient("EG-B1374632949-00215-D3BEB6416TE2E729-A84ADDF9C5A1C85F"); //Catching the following events is not necessary, //just make the application more user friendly. //If you use the object in asp.net/windows service or non-gui application, //You need not to catch the following events. //To learn more detail, please refer to the code in EAGetMail EventHandler region oClient.OnAuthorized += new MailClient.OnAuthorizedEventHandler(OnAuthorized); oClient.OnConnected += new MailClient.OnConnectedEventHandler(OnConnected); oClient.OnIdle += new MailClient.OnIdleEventHandler(OnIdle); oClient.OnSecuring += new MailClient.OnSecuringEventHandler(OnSecuring); oClient.OnReceivingDataStream += new MailClient.OnReceivingDataStreamEventHandler(OnReceivingDataStream); bool bLeaveCopy = chkLeaveCopy.Checked; // UIDL es el identificador de cada correo electrónico de POP3 / IMAP4 / servidor de Exchange, para evitar recuperar // El mismo correo electrónico desde el servidor más de una vez, que registra el email UIDL recuperada cada vez // Si elimina el correo electrónico desde el servidor cada vez y no dejar una copia del correo electrónico en // El servidor, por favor, elimine toda la función sobre uidl. // UIDLManager envuelve la función de escribir / leer el registro uidl desde un archivo de texto. UIDLManager oUIDLManager = new UIDLManager(); try { // Carga existían registros UIDL a UIDLManager string uidlfile = String.Format("{0}\\{1}", m_curpath, m_uidlfile); oUIDLManager.Load(uidlfile); string mailFolder = String.Format("{0}\\inbox", m_curpath); if (!Directory.Exists(mailFolder)) { Directory.CreateDirectory(mailFolder); } m_bcancel = false; lblStatus.Text = "Connecting ..."; oClient.Connect(oServer); MailInfo[] infos = oClient.GetMailInfos(); lblStatus.Text = String.Format("Total {0} email(s)", infos.Length); // Eliminar el uidl local que no se existía en el servidor. oUIDLManager.SyncUIDL(oServer, infos); oUIDLManager.Update(); int count = infos.Length; if (count > 0) { lista_Mensaje = new List <mail_Mensaje_Info>(); } for (int i = 0; i < count; i++) { MailInfo info = infos[i]; //verificar en base if (Bus_Mensaje.Verifica_codMensajeId(info.UIDL) == false) { //} //if (oUIDLManager.FindUIDL(oServer, info.UIDL) != null /*&& "si esta en base"|| oUIDLManager.FindUIDL(oServer, info.UIDL) == null && "si esta en base"*/ ) //{ // // este correo electrónico se ha descargado antes. // continue; //} lblStatus.Text = String.Format("Retrieving {0}/{1}...", info.Index, count); Mail oMail = oClient.GetMail(info); System.DateTime d = System.DateTime.Now; System.Globalization.CultureInfo cur = new System.Globalization.CultureInfo("en-US"); string sdate = d.ToString("yyyyMMddHHmmss", cur); string fileName = String.Format("{0}\\{1}{2}{3}.eml", mailFolder, sdate, d.Millisecond.ToString("d3"), i); oMail.SaveAs(fileName, true); //llenar grid //int conta = oMail.Headers.Count; //string MessageID = ""; //for (int y = 0; y < conta; y++) //{ // string valida = "Message-ID"; // string extrae = oMail.Headers[y].ToString().Substring(0, 10); // string result = ""; // if (extrae == valida) // { // MessageID = oMail.Headers[y].ToString(); // break; // } // // break; //} conta = 0; conta = oMail.To.ToList().Count(); sec = 0; foreach (var itemTo in oMail.To.ToList()) { sec = sec + 1; if (sec != conta) { para += itemTo.Address + "; "; } else { para += itemTo.Address; } } conta = 0; conta = oMail.Cc.ToList().Count(); sec = 0; foreach (var itemCopia in oMail.Cc.ToList()) { sec = sec + 1; if (sec != conta) { CC += itemCopia.Address + "; "; } else { CC += itemCopia.Address; } } infoMensaje = new mail_Mensaje_Info(); infoMensaje.Asunto = oMail.Subject; infoMensaje.Asunto_texto_mostrado = oMail.Subject; // infoMensaje.codMensajeId = MessageID; infoMensaje.codMensajeId = info.UIDL; infoMensaje.fileName = fileName; infoMensaje.Para = para; infoMensaje.Para_CC = CC; infoMensaje.Fecha = oMail.ReceivedDate; infoMensaje.Texto_mensaje = oMail.TextBody; infoMensaje.Tiene_Adjunto = oMail.Attachments.Count() == 0 ? false : true; if (Convert.ToString(oMail.Priority) == "Normal") { infoMensaje.Prioridad = 0; } if (Convert.ToString(oMail.Priority) == "Alta") { infoMensaje.Prioridad = 1; } if (Convert.ToString(oMail.Priority) == "Baja") { infoMensaje.Prioridad = -1; } infoMensaje.Leido = false; infoMensaje.Respondido = false; infoMensaje.No_Leido = false; infoMensaje.mail_remitente = correo; infoMensaje.Eliminado = false; infoMensaje.IdTipo_Mensaje = eTipoMail.Buzon_Ent; infoMensaje.IdCuenta = IdCuenta; foreach (var itemAdju in oMail.Attachments) { mail_Mensaje_Archi_Adjunto_Info infoAdju = new mail_Mensaje_Archi_Adjunto_Info(); string nomAdju = itemAdju.Name; string extAdj = Path.GetExtension(nomAdju); if (extAdj == ".pdf" || extAdj == ".xml") { infoAdju.extensionArchivo = extAdj; infoAdju.Archivo_adjunto = itemAdju.Content; infoAdju.descripcion_archi = itemAdju.Name; infoMensaje.list_Archivos_Adjuntos.Add(infoAdju); } } infoMensaje.Archivo_correo = System.IO.File.ReadAllBytes(infoMensaje.fileName); lista_Mensaje.Add(infoMensaje); gridControl_Correo.DataSource = lista_Mensaje; gridControl_Correo.RefreshDataSource(); oMail.Clear(); // si lblTotal.Text = String.Format("Total {0} email(s)", lstMail.Items.Count); if (bLeaveCopy) { // añadir el uidl correo electrónico a uidl archivo para evitar recuperamos la próxima vez. oUIDLManager.AddUIDL(oServer, info.UIDL, fileName); } } } if (!bLeaveCopy) { lblStatus.Text = "Deleting ..."; for (int i = 0; i < count; i++) { oClient.Delete(infos[i]); // Eliminar UIDL de archivo uidl local. oUIDLManager.RemoveUIDL(oServer, infos[i].UIDL); } } // Eliminar método sólo marcar el correo electrónico como eliminado, // Salir método puro los mensajes de correo electrónico desde el servidor exactamente. oClient.Quit(); if (lista_Mensaje.Count() == 0) { MessageBox.Show("No existen Correos de Entrada Nuevos"); return; } } catch (Exception ex) { BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); MessageBox.Show(ex.Message.ToString()); } // Actualizar la lista uidl de archivo uidl local y luego podemos cargar la próxima vez. oUIDLManager.Update(); lblStatus.Text = "Completed"; pgBar.Maximum = 100; pgBar.Minimum = 0; pgBar.Value = 0; btnStart.Enabled = true; btnCancel.Enabled = false; } catch (Exception ex) { BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); MessageBox.Show(ex.Message.ToString()); } }
private void btn_Actualizar_Click(object sender, EventArgs e) { try { string mensajeError = ""; if (listaMail.Count != 0) { listaMensajes = new BindingList <mail_Mensaje_Info>(); foreach (var item in listaMail) { mail_Mensaje_Info info = new mail_Mensaje_Info(); //Para conta = 0; conta = item.To.ToList().Count(); sec = 0; foreach (var item2 in item.To) { sec = sec + 1; if (sec != conta) { para += item2 + "; "; } else { para += item2; } } //con copia conta = 0; conta = item.conCopia.ToList().Count(); sec = 0; foreach (var itemCopia in item.conCopia) { sec = sec + 1; if (sec != conta) { CC += itemCopia + "; "; } else { CC += itemCopia; } } info.Para = para; info.Para_CC = CC; info.Fecha = item.DateSent; //info.Para = item.Para; // info.Para_CC = item.CC; info.Asunto = item.Subject; info.Asunto_texto_mostrado = item.Subject; info.Tiene_Adjunto = item.Attachments.Count() == 0 ? false : true; if (item.Prioridad == "Normal") { info.Prioridad = 0; } if (item.Prioridad == "Alta") { info.Prioridad = 1; } if (item.Prioridad == "Baja") { info.Prioridad = -1; } info.Leido = false; info.Respondido = false; info.No_Leido = false; info.Texto_mensaje = item.Texto_mensaje; // info.mail_remitente = item.From; // info.mail_remitente = dir_correo; // info.InfoContribuyente.Mail = correo; info.mail_remitente = correo; info.Eliminado = false; info.IdTipo_Mensaje = eTipoMail.Buzon_Ent; info.codMensajeId = item.MessageId; // info.InfoContribuyente= null; //info.InfoContribuyente.Mail = item.From; info.IdCuenta = IdCuenta; foreach (var itemAdju in item.Attachments) { mail_Mensaje_Archi_Adjunto_Info infoAdju = new mail_Mensaje_Archi_Adjunto_Info(); string nomAdju = itemAdju.FileName; string extAdj = Path.GetExtension(nomAdju); if (extAdj == ".pdf" || extAdj == ".xml") { infoAdju.extensionArchivo = extAdj; infoAdju.Archivo_adjunto = itemAdju.Content; infoAdju.descripcion_archi = itemAdju.FileName; info.list_Archivos_Adjuntos.Add(infoAdju); } } listaMensajes.Add(info); } } foreach (var item in listaMensajes) { if (Bus_Mensaje.GrabarMensajeDB(item, ref mensajeError)) { } } // consultar los nuevos correos mostrar_mensajes(eTipoMail.Buzon_Ent, correo); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void LoadMails() { try { string mailFolder = String.Format("{0}\\inbox", m_curpath); if (!Directory.Exists(mailFolder)) { Directory.CreateDirectory(mailFolder); } string[] files = Directory.GetFiles(mailFolder, "*.eml"); int count = files.Length; for (int i = 0; i < count; i++) { string fullname = files[i]; // Para el uso de la evaluación, por favor utilice "TryIt" como el código de licencia, de lo contrario el // será lanzado excepción "código de licencia no válida". Sin embargo, el objeto expirará en 1-2 meses, y luego // "versión de prueba expiró" se lanzará una excepción. Mail oMail = new Mail("EG-B1374632949-00215-D3BEB6416TE2E729-A84ADDF9C5A1C85F"); // Carga (archivo, true) sólo cargar el encabezado del correo electrónico a Correo objeto de salvar la CPU y la memoria // El objeto Correo cargará el archivo de correo electrónico entera tarde de forma automática si se requiere bodyText o apego .. oMail.Load(fullname, true); //llenar grid int conta = oMail.Headers.Count; string MessageID = ""; for (int y = 0; y < conta; y++) { if (y == 17) { MessageID = oMail.Headers[y].ToString(); break; } } conta = 0; conta = oMail.To.ToList().Count(); sec = 0; foreach (var itemTo in oMail.To.ToList()) { sec = sec + 1; if (sec != conta) { para += itemTo.Address + "; "; } else { para += itemTo.Address; } } conta = 0; conta = oMail.Cc.ToList().Count(); sec = 0; foreach (var itemCopia in oMail.Cc.ToList()) { sec = sec + 1; if (sec != conta) { CC += itemCopia.Address + "; "; } else { CC += itemCopia.Address; } } infoMensaje = new mail_Mensaje_Info(); infoMensaje.Asunto = oMail.Subject; infoMensaje.Asunto_texto_mostrado = oMail.Subject; infoMensaje.codMensajeId = MessageID; infoMensaje.fileName = fullname; infoMensaje.Para = para; infoMensaje.Para_CC = CC; infoMensaje.Fecha = oMail.ReceivedDate; infoMensaje.Texto_mensaje = oMail.TextBody; infoMensaje.Tiene_Adjunto = oMail.Attachments.ToList().Count() == 0 ? false : true; if (Convert.ToString(oMail.Priority) == "Normal") { infoMensaje.Prioridad = 0; } if (Convert.ToString(oMail.Priority) == "Alta") { infoMensaje.Prioridad = 1; } if (Convert.ToString(oMail.Priority) == "Baja") { infoMensaje.Prioridad = -1; } infoMensaje.Leido = false; infoMensaje.Respondido = false; infoMensaje.No_Leido = false; infoMensaje.mail_remitente = correo; infoMensaje.Eliminado = false; infoMensaje.IdTipo_Mensaje = eTipoMail.Buzon_Ent; infoMensaje.IdCuenta = IdCuenta; foreach (var itemAdju in oMail.Attachments.ToList()) { mail_Mensaje_Archi_Adjunto_Info infoAdju = new mail_Mensaje_Archi_Adjunto_Info(); string nomAdju = itemAdju.Name; string extAdj = Path.GetExtension(nomAdju); if (extAdj == ".pdf" || extAdj == ".xml") { infoAdju.extensionArchivo = extAdj; infoAdju.Archivo_adjunto = itemAdju.Content; infoAdju.descripcion_archi = itemAdju.Name; infoMensaje.list_Archivos_Adjuntos.Add(infoAdju); } } lista_Mensaje.Add(infoMensaje); gridControl_Correo.DataSource = lista_Mensaje; //llenar grid int pos = fullname.LastIndexOf("."); string mainName = fullname.Substring(0, pos); string htmlName = mainName + ".htm"; if (!File.Exists(htmlName)) { // Este mensaje está sin leer, fijamos el estilo de fuente en negrita. // item.Font = new System.Drawing.Font(item.Font, FontStyle.Bold); } oMail.Clear(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public List <mail_Mensaje_Info> consultar_mail_sin_correo_destino_x_contribuyente(decimal IdContribuyente, ref string mensajeErrorOut) { try { List <mail_Mensaje_Info> lista = new List <mail_Mensaje_Info>(); using (EntitiesFactElectronica conexion = new EntitiesFactElectronica()) { var q = from C in conexion.vw_Mensaje_x_Contribuyente where C.IdTipo_Mensaje == "Buzon_Sal" && C.Para == "" && C.IdContribuyente == IdContribuyente orderby C.Fecha descending select C; foreach (var item in q) { mail_Mensaje_Info infoC = new mail_Mensaje_Info(); tb_Contribuyente_Info InfoContri = new tb_Contribuyente_Info(); infoC.IdMensaje = item.IdMensaje; infoC.Fecha = item.Fecha; infoC.sFecha = item.Fecha.ToString(); infoC.Para = item.Para; infoC.Para_CCO = item.Para_CCO; infoC.Asunto = item.Asunto; infoC.mail_remitente = item.Mail; infoC.Tiene_Adjunto = item.Tiene_Adjunto; infoC.Prioridad = item.Prioridad; infoC.Leido = item.Leido; infoC.Respondido = item.Respondido; infoC.Texto_mensaje = item.Texto_mensaje; infoC.IdTipo_Mensaje = (eTipoMail)Enum.Parse(typeof(eTipoMail), item.IdTipo_Mensaje); infoC.Eliminado = item.Eliminado; infoC.Para_CC = item.Para_CC; infoC.Mostrar_col_Eliminar = true; infoC.IdCuenta = item.IdCuenta; /// lenar este objketo /// if (item.IdContribuyente != null) { InfoContri.IdContribuyente = (item.IdContribuyente == null) ? 0 : Convert.ToDecimal(item.IdContribuyente); InfoContri.Mail = item.Mail; InfoContri.Mail_secundario = item.Mail_secundario; InfoContri.Password = item.Password; InfoContri.Nom_Contribuyente = item.Nom_Contribuyente; InfoContri.IdEmpresa = (item.IdEmpresa == null) ? 0 : Convert.ToInt32(item.IdEmpresa); infoC.Fecha = item.Fecha; InfoContri.Observacion = item.Observacion; InfoContri.Telefono = item.Telefono; InfoContri.cedulaRuc_contri = item.cedulaRuc_contri; infoC.RUC_Emisor = item.RUC_Emisor; infoC.RazonSocial_Emisor = item.RazonSocial_Emisor; } infoC.InfoContribuyente = InfoContri; lista.Add(infoC); } } return(lista); } catch (Exception ex) { mensajeError = ex.InnerException + " " + ex.Message; tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, mensajeError, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensajeError); return(new List <mail_Mensaje_Info>()); } }
public List <mail_Mensaje_Info> consultar(eTipoMail TipoCorreo, string direccionCorreo, int NumPag, int Registro_x_pagina, string CadenaBusqueda, ref string mensajeErrorOut) { List <mail_Mensaje_Info> lista = new List <mail_Mensaje_Info>(); decimal Ultimoindice = 0; try { using (EntitiesFactElectronica conexion = new EntitiesFactElectronica()) { var q = from C in conexion.sp_consulta_x_Mensaje_x_Pagina(NumPag, Registro_x_pagina, TipoCorreo.ToString(), direccionCorreo, CadenaBusqueda) orderby C.Fecha descending select new { C.IdEmpresa, C.IdMensaje, C.Fecha, C.Para, C.Para_CCO, C.Asunto, C.Mail, C.Tiene_Adjunto, C.Prioridad, C.Leido , C.Respondido, C.Eliminado, C.Para_CC, C.codMensajeId, C.IdTipo_Mensaje, C.IdCuenta, C.IdContribuyente, C.Mail_secundario, C.Password, C.Nom_Contribuyente, C.Telefono, C.cedulaRuc_contri, C.RazonSocial_Emisor, C.RUC_Emisor }; foreach (var item in q) { mail_Mensaje_Info infoC = new mail_Mensaje_Info(); tb_Contribuyente_Info InfoContri = new tb_Contribuyente_Info(); Ultimoindice++; infoC.IdMensaje = item.IdMensaje; infoC.Fecha = item.Fecha; infoC.sFecha = item.Fecha.ToString(); infoC.Para = item.Para; infoC.Para_CCO = item.Para_CCO; infoC.Asunto = item.Asunto; infoC.mail_remitente = item.Mail; infoC.Tiene_Adjunto = item.Tiene_Adjunto; infoC.Prioridad = item.Prioridad; infoC.Leido = item.Leido; infoC.Respondido = item.Respondido; infoC.IdTipo_Mensaje = (eTipoMail)Enum.Parse(typeof(eTipoMail), item.IdTipo_Mensaje); infoC.Eliminado = item.Eliminado; infoC.Para_CC = item.Para_CC; infoC.Mostrar_col_Eliminar = true; infoC.codMensajeId = item.codMensajeId; infoC.IdCuenta = item.IdCuenta; infoC.MosTrar_icono_Ride = false; infoC.MosTrar_icono_xml = false; if (item.IdContribuyente != null) { InfoContri.IdContribuyente = (item.IdContribuyente == null) ? 0 : Convert.ToDecimal(item.IdContribuyente); InfoContri.Mail = item.Mail; InfoContri.Mail_secundario = item.Mail_secundario; InfoContri.Password = item.Password; InfoContri.Nom_Contribuyente = item.Nom_Contribuyente; InfoContri.IdEmpresa = (item.IdEmpresa == null) ? 0 : Convert.ToInt32(item.IdEmpresa); InfoContri.Telefono = item.Telefono; InfoContri.cedulaRuc_contri = item.cedulaRuc_contri; infoC.Fecha = item.Fecha; infoC.RUC_Emisor = item.RUC_Emisor; infoC.RazonSocial_Emisor = item.RazonSocial_Emisor; } infoC.InfoContribuyente = InfoContri; lista.Add(infoC); } } return(lista); } catch (Exception ex) { mensajeError = ex.InnerException + " " + ex.Message; tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, mensajeError, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensajeError); Ultimoindice++; return(lista); } }
private void gridViewVisorMail_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { try { mail_Mensaje_Info InfoMail = new mail_Mensaje_Info(); string mensajeError = ""; //if (e.Column.Name == "ColAsunto" || e.Column.Name == "colFecha") //{ infoMensaje = new mail_Mensaje_Info(); infoMensaje = (mail_Mensaje_Info)gridViewVisorMail.GetFocusedRow(); if (infoMensaje.fileName == null) { string RutaFile = Path.GetTempPath(); int pos = RutaFile.LastIndexOf('\\'); if (pos != -1) { RutaFile = RutaFile.Substring(0, pos); } m_curpath = RutaFile; string uidlfile = String.Format("{0}\\{1}", m_curpath, infoMensaje.codMensajeId); uidlfile = uidlfile + ".htm"; if (File.Exists(uidlfile)) { FileInfo file = new FileInfo(uidlfile); file.Delete(); } if (!File.Exists(uidlfile)) { mail_Mensaje_Bus BusMail = new mail_Mensaje_Bus(); byte[] File_mail = null; File_mail = BusMail.Get_File_x_Mensaje(infoMensaje.IdMensaje, infoMensaje.codMensajeId, ref mensajeError); System.IO.File.WriteAllBytes(uidlfile, File_mail); } ShowMail(uidlfile); } else { ShowMail(infoMensaje.fileName); } //} if (e.Column.Name == "ColAdjunto") { InfoMail = new mail_Mensaje_Info(); InfoMail = (mail_Mensaje_Info)gridViewVisorMail.GetFocusedRow(); List <mail_Mensaje_Archi_Adjunto_Info> lista = new List <mail_Mensaje_Archi_Adjunto_Info>(); lista = bus_Adjunto.Lista_ArchivoAdjunto_x_IdMensaje(InfoMail.IdMensaje, ref mensajeError); Frm_Carga_PDF_XML frm = new Frm_Carga_PDF_XML(); frm.carga(lista); frm.Show(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public sp_RecuperaciondeContraseña_Info sp_RecuperaciondeContraseña(int IdEmpresa, string CedulaRuc, string Link, ref string mensajeErrorOut) { try { sp_RecuperaciondeContraseña_Info result = OData.sp_RecuperaciondeContraseña(IdEmpresa, CedulaRuc, ref mensajeErrorOut); string sMensaje = "Estimado(a) cliente:\n"; sMensaje = sMensaje + " Para recuperar su contraseña acceda al siguiente enlace:" + Link + result.HashText; sMensaje = sMensaje + " \n\n"; sMensaje = sMensaje + " Favor no responder a este correo."; sMensaje = sMensaje + " \n\n"; mail_Mensaje_Bus mail_b = new mail_Mensaje_Bus(); mail_Mensaje_Info itemCorreo = new mail_Mensaje_Info(); itemCorreo.Asunto = "**Recuperacion contraseña**"; itemCorreo.Fecha = DateTime.Now; itemCorreo.Asunto_texto_mostrado = Link + result.HashText; itemCorreo.Para = (result.CorreoContribuyente == null) ? "" : result.CorreoContribuyente; itemCorreo.Tiene_Adjunto = false; itemCorreo.Texto_mensaje = sMensaje; itemCorreo.InfoContribuyente.IdEmpresa = IdEmpresa; itemCorreo.InfoContribuyente.IdContribuyente = result.IdContribuyente; itemCorreo.IdTipo_Mensaje = eTipoMail.Buzon_Sal; mail_Cuentas_Correo_x_Empresa_Bus BusCtasxCorreo_x_empresa = new mail_Cuentas_Correo_x_Empresa_Bus(); List <mail_Cuentas_Correo_x_Empresa_Info> lista = new List <mail_Cuentas_Correo_x_Empresa_Info>(); lista = BusCtasxCorreo_x_empresa.Consulta_mail_Cuentas_Correo_x_Empresa(ref mensajeErrorOut); var InfoEmpresa_x_cta = lista.FirstOrDefault(v => v.IdEmpresa == IdEmpresa); itemCorreo.IdCuenta = InfoEmpresa_x_cta.IdCuenta; itemCorreo.mail_remitente = InfoEmpresa_x_cta.direccion_correo; mail_b.GrabarMensajeDB(itemCorreo, ref mensajeErrorOut); if (mail_b.Enviar_Correo(itemCorreo, ref mensajeErrorOut) == false) { result.Respuesta = "False"; result.Mensaje = "no se ha podido enviar el correo ... error efirm de envio:" + mensajeErrorOut; } return(result); } catch (Exception ex) { string arreglo = ToString(); tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, arreglo, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensajeErrorOut); mensajeErrorOut = ex.InnerException + " " + ex.Message; sp_RecuperaciondeContraseña_Info resError = new sp_RecuperaciondeContraseña_Info(); resError.Respuesta = "False"; resError.Mensaje = "Errot try:" + mensajeErrorOut; return(resError); } }
private void btndescargarcorreo_Click(object sender, EventArgs e) { try { string mensajError = ""; if (InfoCuenta == null) { mail_Cuentas_Correo_Bus bus_correo = new mail_Cuentas_Correo_Bus(); List <mail_Cuentas_Correo_Info> lista_Correo = new List <mail_Cuentas_Correo_Info>(); lista_Correo = bus_correo.consultar(ref mensajError); InfoCuenta = lista_Correo.FirstOrDefault(q => q.direccion_correo == dir_correo); } if (InfoCuenta.ServidorCorreoEntrante.Length == 0 || InfoCuenta.Usuario.Length == 0 || InfoCuenta.Password.Length == 0) { MessageBox.Show("Por favor ingrese servidor, usuario y contraseña."); return; } // cargo los ID de mensaje para no tener q ir a la DB lista_codMensajeId_Existentes = new List <string>(); lista_codMensajeId_Existentes = Bus_Mensaje.consultar_CodMail_Existentes(); btndescargarcorreo.Enabled = false; btnCancel.Enabled = true; lista_Mensaje = new List <mail_Mensaje_Info>(); string mensajeError = ""; ServerAuthType authType = ServerAuthType.AuthLogin; if (InfoCuenta.Tipo_Authenticacion == "APOP") { authType = ServerAuthType.AuthCRAM5; } else if (InfoCuenta.Tipo_Authenticacion == "NTLM") { authType = ServerAuthType.AuthNTLM; } // ServerProtocol protocol = (ServerProtocol)lstProtocol.SelectedIndex; ServerProtocol protocol = new ServerProtocol(); if (InfoCuenta.TipoCuenta == "POP3") { protocol = ServerProtocol.Pop3; } if (InfoCuenta.TipoCuenta == "IMAP4") { protocol = ServerProtocol.Imap4; } if (InfoCuenta.TipoCuenta == "EXCHA_WEB_SER") { protocol = ServerProtocol.ExchangeEWS; } if (InfoCuenta.TipoCuenta == "EXCHA_WEB_DAV") { protocol = ServerProtocol.ExchangeWebDAV; } usa_sll = (InfoCuenta.Usa_SSL_Conexion_para_Descarga_correo == null) ? false : (Boolean)InfoCuenta.Usa_SSL_Conexion_para_Descarga_correo; MailServer oServer = new MailServer(InfoCuenta.ServidorCorreoEntrante, InfoCuenta.Usuario, InfoCuenta.Password, usa_sll, authType, protocol); // Para el uso de la evaluación, por favor utilice "TryIt" como el código de licencia, de lo contrario el // será lanzado excepción "código de licencia no válida". Sin embargo, el objeto expirará en 1-2 meses, y luego // "versión de prueba expiró" se lanzará una excepción. MailClient oClient = new MailClient("EG-B1374632949-00215-D3BEB6416TE2E729-A84ADDF9C5A1C85F"); //Catching the following events is not necessary, //just make the application more user friendly. //If you use the object in asp.net/windows service or non-gui application, //You need not to catch the following events. //To learn more detail, please refer to the code in EAGetMail EventHandler region oClient.OnAuthorized += new MailClient.OnAuthorizedEventHandler(OnAuthorized); oClient.OnConnected += new MailClient.OnConnectedEventHandler(OnConnected); oClient.OnIdle += new MailClient.OnIdleEventHandler(OnIdle); oClient.OnSecuring += new MailClient.OnSecuringEventHandler(OnSecuring); oClient.OnReceivingDataStream += new MailClient.OnReceivingDataStreamEventHandler(OnReceivingDataStream); bool bMantener_copia_correo = (InfoCuenta.Guardar_1_copia_de_corre_en_server_mail == null) ? false : (Boolean)InfoCuenta.Guardar_1_copia_de_corre_en_server_mail; UIDLManager oUIDLManager = new UIDLManager(); try { // Carga existían registros UIDL a UIDLManager string uidlfile = String.Format("{0}\\{1}", m_curpath, m_uidlfile); oUIDLManager.Load(uidlfile); string mailFolder = String.Format("{0}\\inbox", m_curpath); if (!Directory.Exists(mailFolder)) { Directory.CreateDirectory(mailFolder); } m_bcancel = false; lblStatus.Text = "Conectando ..."; oClient.Connect(oServer); MailInfo[] infos = oClient.GetMailInfos(); lblStatus.Text = String.Format("Total {0} email(s)", infos.Length); // Eliminar el uidl local que no se existía en el servidor. oUIDLManager.SyncUIDL(oServer, infos); oUIDLManager.Update(); int count = infos.Length; if (count > 0) { lista_Mensaje = new List <mail_Mensaje_Info>(); } int CountError = 0; for (int i = 0; i < count; i++) { MailInfo info = infos[i]; CountError = i; //if (i == 2587) { MessageBox.Show(""); } //verificar en base NO debo ir a la base uno a uno sino se hace muy largo if (lista_codMensajeId_Existentes.Contains(info.UIDL) == false) { lblStatus.Text = String.Format("Retrieving {0}/{1}...", info.Index, count); Mail oMail = oClient.GetMail(info); System.DateTime d = System.DateTime.Now; System.Globalization.CultureInfo cur = new System.Globalization.CultureInfo("en-US"); string sdate = d.ToString("yyyyMMddHHmmss", cur); string fileName = String.Format("{0}\\{1}{2}{3}.eml", mailFolder, sdate, d.Millisecond.ToString("d3"), i); try//try1 { oMail.SaveAs(fileName, true); conta = 0; conta = oMail.To.ToList().Count(); sec = 0; foreach (var itemTo in oMail.To.ToList()) { sec = sec + 1; if (sec != conta) { para += itemTo.Address + "; "; } else { para += itemTo.Address; } } conta = 0; conta = oMail.Cc.ToList().Count(); sec = 0; foreach (var itemCopia in oMail.Cc.ToList()) { sec = sec + 1; if (sec != conta) { CC += itemCopia.Address + "; "; } else { CC += itemCopia.Address; } } } catch (Exception EX) { MessageBox.Show(EX.Message + " try 1"); } try//try2 { infoMensaje = new mail_Mensaje_Info(); infoMensaje.Asunto = oMail.Subject; infoMensaje.Asunto_texto_mostrado = oMail.Subject; // infoMensaje.codMensajeId = MessageID; infoMensaje.codMensajeId = info.UIDL; infoMensaje.fileName = fileName; infoMensaje.Para = para; infoMensaje.Para_CC = CC; infoMensaje.Fecha = oMail.ReceivedDate; infoMensaje.Texto_mensaje = oMail.TextBody; infoMensaje.Tiene_Adjunto = oMail.Attachments.Count() == 0 ? false : true; if (Convert.ToString(oMail.Priority) == "Normal") { infoMensaje.Prioridad = 0; } if (Convert.ToString(oMail.Priority) == "Alta") { infoMensaje.Prioridad = 1; } if (Convert.ToString(oMail.Priority) == "Baja") { infoMensaje.Prioridad = -1; } infoMensaje.Leido = false; infoMensaje.Respondido = false; infoMensaje.No_Leido = false; infoMensaje.mail_remitente = dir_correo; infoMensaje.Eliminado = false; infoMensaje.IdTipo_Mensaje = eTipoMail.Buzon_Ent; infoMensaje.IdCuenta = IdCuenta; foreach (var itemAdju in oMail.Attachments) { mail_Mensaje_Archi_Adjunto_Info infoAdju = new mail_Mensaje_Archi_Adjunto_Info(); string nomAdju = itemAdju.Name; string extAdj = Path.GetExtension(nomAdju); if (extAdj.ToUpper() == ".PDF" || extAdj.ToUpper() == ".XML") { infoAdju.extensionArchivo = extAdj; infoAdju.Archivo_adjunto = itemAdju.Content; infoAdju.descripcion_archi = itemAdju.Name; infoMensaje.list_Archivos_Adjuntos.Add(infoAdju); } } infoMensaje.Archivo_correo = System.IO.File.ReadAllBytes(infoMensaje.fileName); Bus_Mensaje.GrabarMensajeDB(infoMensaje, ref mensajeError); //lista_Mensaje.Add(infoMensaje); } catch (Exception ex) { MessageBox.Show(ex.Message + " try 2"); } oMail.Clear(); // si lblTotal.Text = String.Format("Total {0} email(s)", lstMail.Items.Count); if (bMantener_copia_correo) { // añadir el uidl correo electrónico a uidl archivo para evitar recuperamos la próxima vez. oUIDLManager.AddUIDL(oServer, info.UIDL, fileName); } } } if (!bMantener_copia_correo) { lblStatus.Text = "Borrando ..."; for (int i = 0; i < count; i++) { oClient.Delete(infos[i]); // Eliminar UIDL de archivo uidl local. oUIDLManager.RemoveUIDL(oServer, infos[i].UIDL); } } // Eliminar método sólo marcar el correo electrónico como eliminado, // Salir método puro los mensajes de correo electrónico desde el servidor exactamente. oClient.Quit(); //if (lista_Mensaje.Count() == 0) //{ // MessageBox.Show("No existen Correos de Entrada Nuevos"); // btndescargarcorreo.Enabled = true; // btnCancel.Enabled = false; // return; //} } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } // Actualizar la lista uidl de archivo uidl local y luego podemos cargar la próxima vez. oUIDLManager.Update(); lblStatus.Text = "Completed"; pgBar.Maximum = 100; pgBar.Minimum = 0; pgBar.Value = 0; btndescargarcorreo.Enabled = true; btnCancel.Enabled = false; //mostrar_mensajes(eTipoMail.Buzon_Ent, dtp_desde.Value, dtp_hasta.Value, dir_correo); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public bool GrabarMensajeDB(mail_Mensaje_Info infoC, ref string mensajeErrorOut) { try { using (EntitiesFactElectronica conexion = new EntitiesFactElectronica()) { var Reg_a_Guardar = new mail_Mensaje(); Reg_a_Guardar.IdMensaje = infoC.IdMensaje = getId(ref mensajeErrorOut); Reg_a_Guardar.Fecha = infoC.Fecha; Reg_a_Guardar.Para = infoC.Para; Reg_a_Guardar.Para_CC = infoC.Para_CC; Reg_a_Guardar.Asunto = infoC.Asunto; Reg_a_Guardar.Asunto_texto_mostrado = infoC.Asunto; Reg_a_Guardar.Tiene_Adjunto = infoC.Tiene_Adjunto; Reg_a_Guardar.Prioridad = infoC.Prioridad; Reg_a_Guardar.Leido = infoC.Leido; Reg_a_Guardar.Respondido = infoC.Respondido; Reg_a_Guardar.IdTipo_Mensaje = infoC.IdTipo_Mensaje.ToString(); Reg_a_Guardar.Texto_mensaje = infoC.Texto_mensaje; if (infoC.IdTipo_Mensaje == eTipoMail.Buzon_Ent) { if (infoC.InfoContribuyente.IdContribuyente == 0) { Reg_a_Guardar.IdContribuyente = null; } else { Reg_a_Guardar.IdContribuyente = infoC.InfoContribuyente.IdContribuyente; } } else { Reg_a_Guardar.IdContribuyente = infoC.InfoContribuyente.IdContribuyente; } Reg_a_Guardar.No_Leido = infoC.No_Leido; Reg_a_Guardar.Eliminado = infoC.Eliminado; Reg_a_Guardar.mail_remitente = infoC.mail_remitente; Reg_a_Guardar.IdCuenta = infoC.IdCuenta; Reg_a_Guardar.Para_CC = (infoC.Para_CC == null) ? "" : infoC.Para_CC; Reg_a_Guardar.Para_CCO = (infoC.Para_CCO == null) ? "" : infoC.Para_CCO; Reg_a_Guardar.codMensajeId = infoC.codMensajeId; Reg_a_Guardar.Archivo_correo = infoC.Archivo_correo; conexion.mail_Mensaje.Add(Reg_a_Guardar); conexion.SaveChanges(); } return(true); } catch (Exception ex) { mensajeError = ex.InnerException + " " + ex.Message; tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, mensajeError, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensajeError); return(false); } }
private void gridView_Buzon_Entrada_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { try { mail_Mensaje_Info InfoMail = new mail_Mensaje_Info(); if (e.Column.Name == "colMosTrar_icono_Ride" || e.Column.Name == "colMosTrar_icono_xml") { InfoMail = new mail_Mensaje_Info(); InfoMail = (mail_Mensaje_Info)gridView_Buzon_Entrada.GetFocusedRow(); List <mail_Mensaje_Archi_Adjunto_Info> lista = new List <mail_Mensaje_Archi_Adjunto_Info>(); lista = lista_Adjunto.FindAll(q => q.IdMensaje == InfoMail.IdMensaje); Frm_Carga_PDF_XML frm = new Frm_Carga_PDF_XML(); frm.carga(lista); frm.Show(); //string RutaFile = Path.GetTempPath(); //var item2 = lista_Adjunto.FindAll(q => q.IdMensaje == InfoMail.IdMensaje); //if (item2.Count() != 0) //{ // foreach (var item3 in item2) // { // if (item3.extensionArchivo == ".pdf") // { // // RutaFile = RutaFile + "\\" + item3.descripcion_archi; // // System.IO.File.WriteAllBytes(RutaFile, item3.Archivo_adjunto); // //// System.Diagnostics.Process proc = new System.Diagnostics.Process(); // //// proc.StartInfo.FileName = RutaFile; // //// proc.Start(); // ////proc.Close(); // } // //guardar PDF // Stream myStream; // SaveFileDialog saveFileDialog1 = new SaveFileDialog(); // saveFileDialog1.Filter = "pdf files (*.pdf)|*.pdf"; // saveFileDialog1.FilterIndex = 2; // saveFileDialog1.RestoreDirectory = true; // saveFileDialog1.FileName = item3.descripcion_archi; // if (saveFileDialog1.ShowDialog() == DialogResult.OK) // { // if ((myStream = saveFileDialog1.OpenFile()) != null) // { // //xmlOrigen.Save(myStream); // //myStream.Close(); // // System.IO.File.WriteAllBytes(RutaFile, item3.Archivo_adjunto); // using (StreamWriter sw = new StreamWriter(saveFileDialog1.FileName)) // sw.WriteLine("Hello World!"); // } // } // } //} } //if (e.Column.Name == "colMosTrar_icono_xml") //{ // InfoMail = new mail_Mensaje_Info(); // InfoMail = (mail_Mensaje_Info)gridView_Buzon_Entrada.GetFocusedRow(); // //XmlDocument xmlOrigen = new XmlDocument(); // //xmlOrigen.Load(new StringReader(InfoCbteT.s_XML)); // string RutaFile = Path.GetTempPath(); // var item2 = lista_Adjunto.FindAll(q => q.IdMensaje == InfoMail.IdMensaje); // if (item2.Count() != 0) // { // foreach (var item3 in item2) // { // if (item3.extensionArchivo == ".xml") // { // RutaFile = RutaFile + "\\" + item3.descripcion_archi; // XmlDocument doc = new XmlDocument(); // string xml = Encoding.UTF8.GetString(item3.Archivo_adjunto); // doc.LoadXml(xml); // doc.Save(RutaFile); // System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(RutaFile); // string contenido = ""; // while (reader.Read()) // { // reader.MoveToContent(); // if (reader.NodeType == System.Xml.XmlNodeType.Element) // contenido += "<" + reader.Name + ">\n"; // if (reader.NodeType == System.Xml.XmlNodeType.Text) // contenido += reader.Value + "\n"; // } // if (contenido != "") // { // frmMensaje frmsg = new frmMensaje(); // frmsg.richTextBoxMensaje.Text = contenido; // frmsg.WindowState = FormWindowState.Maximized; // frmsg.ShowDialog(); // } // // Console.Write(contents); // // MessageBox.Show("" + contents); // //XmlReaderSettings settings = new XmlReaderSettings(); // //XmlElement xml = new XmlElement(); // //using (MemoryStream stream = new MemoryStream(item3.Archivo_adjunto)) // //using (XmlReader reader = XmlReader.Create(stream, settings)) // //{ // // return xml.(reader); // //} // //si // //MemoryStream m = new MemoryStream(); // //m.Write(item3.Archivo_adjunto, 0, item3.Archivo_adjunto.Length); // //m.Position = 0; // //XmlDocument o = new XmlDocument(); // //o.Load(m); // //o.Save(RutaFile); // //m.Close(); // //string xmlString = System.Text.UTF8Encoding.UTF8.GetString(item3.Archivo_adjunto); // //XmlTextReader reader = new XmlTextReader(new StringReader(xmlString)); // //MessageBox.Show("" + xmlString); // ////si // // Guardar archivo en ubicacion // //XmlDocument xmlOrigen = new XmlDocument(); // //xmlOrigen.Load(new StringReader(xml)); // //Stream myStream; // //SaveFileDialog saveFileDialog1 = new SaveFileDialog(); // //saveFileDialog1.Filter = "xml files (*.xml)|*.xml"; // //saveFileDialog1.FilterIndex = 2; // //saveFileDialog1.RestoreDirectory = true; // //saveFileDialog1.FileName = item3.descripcion_archi; // //if (saveFileDialog1.ShowDialog() == DialogResult.OK) // //{ // // if ((myStream = saveFileDialog1.OpenFile()) != null) // // { // // xmlOrigen.Save(myStream); // // myStream.Close(); // // } // //} // ////si // } // } // } //} } catch (Exception ex) { } }