private void Enviar() { //CorreoDTO correo = new CorreoDTO(); OrigenDestinoDTO destino = new OrigenDestinoDTO(); List <OrigenDestinoDTO> destinos = new List <OrigenDestinoDTO>(); destino.Direccion = txtPara.Text; destino.Cc = false; destino.Cco = false; correo.OrigenDestino = destinos; correo.Asunto = txtAsunto.Text; correo.Detalle = txtMensaje.Text; correo.OrigenDestino.Add(destino); string fechahoyStr = ""; //fecha = DateTime.Today; fechahoyStr = DateTime.Today.ToShortDateString(); correo.Fecha = DateTime.Parse(fechahoyStr); correo.TipoCorreo = Tipo.ENVIADO; if (txtCC.Text != "") { List <OrigenDestinoDTO> listaCC = PasajeCorreos.getInstance().getListaOrigenDestino(txtCC.Text); foreach (OrigenDestinoDTO item in listaCC) { item.Cc = true; item.Cco = false; correo.OrigenDestino.Add(item); } } if (txtCCO.Text != "") { List <OrigenDestinoDTO> listaCCO = PasajeCorreos.getInstance().getListaOrigenDestino(txtCCO.Text); foreach (OrigenDestinoDTO item in listaCCO) { item.Cc = false; item.Cco = true; correo.OrigenDestino.Add(item); } } try { MailServer.getInstance().enviarCorreo(correo); Controller.Correo.getInstance().agregarCorreo(correo); MessageBox.Show("Mensaje Enviado"); ventanaprincipal.Actualizar(); } catch (Exception ex) { } this.Dispose(); }
public List <CorreoDTO> leerCorreo(CuentaDTO cuenta) { List <CorreoDTO> listaCorreos = new List <CorreoDTO>(); try { ServerDTO server = new ServerDTO(); server.Id = cuenta.Server; server = Server.getInstance().ObtenerServer(server); //Sesión AdminPop adminpop = new AdminPop(); adminpop.ConectarPop(server, cuenta); List <MailMessage> listaMensajes = adminpop.ObtenerMensajes(); //listaMensajes.Add(adminpop.ObtenerMensaje(30)); //check fechas foreach (MailMessage mensajeObtenido in listaMensajes) { CorreoDTO correo = new CorreoDTO(); correo.IdCuenta = cuenta.IdCuenta; OrigenDestinoDTO od = new OrigenDestinoDTO(); List <OrigenDestinoDTO> listaOrigenes = new List <OrigenDestinoDTO>(); od.Direccion = PasajeCorreos.getInstance().obtenerCorreoBlank(mensajeObtenido.From.ToString()); od.Cco = false; od.Cc = false; correo.OrigenDestino = listaOrigenes; correo.OrigenDestino.Add(od); MailAddressCollection listaCC = mensajeObtenido.CC; if (listaCC != null) { foreach (MailAddress ma in listaCC) { OrigenDestinoDTO ccdir = new OrigenDestinoDTO(); ccdir.Direccion = PasajeCorreos.getInstance().obtenerCorreoBlank(ma.ToString()); ccdir.Cc = true; ccdir.Cco = false; correo.OrigenDestino.Add(ccdir); } } AttachmentCollection coleccionadjuntos = mensajeObtenido.Attachments; List <AttachmentDTO> adjuntos = new List <AttachmentDTO>(); if (coleccionadjuntos.Count > 0) { //No puedo usar esto porque previamente limpié la tabla de correos, por lo tanto no hay id. //int maxid = Controller.Correo.getInstance().UltimoIdCorreo(cuenta); foreach (Attachment adj in coleccionadjuntos) { AttachmentDTO adjunto = new AttachmentDTO(); //adjunto.IdCorreo = maxid + 1; adjunto.Name = adj.Name; adjunto.Path = adj.ContentStream.ToString(); //OJO adjuntos.Add(adjunto); } } correo.Adjuntos = adjuntos; //MIRAR ACA string fechaStr = mensajeObtenido.Subject.Substring(mensajeObtenido.Subject.Length - 10, 10); correo.Fecha = DateTime.Parse(fechaStr); correo.Asunto = mensajeObtenido.Subject.Substring(0, (mensajeObtenido.Subject.Length - 10)); correo.NumeroServidorCorreo = mensajeObtenido.To.Count; correo.Detalle = mensajeObtenido.Body; correo.TipoCorreo = Tipo.RECIBIDO; listaCorreos.Add(correo); } } catch (ArgumentNullException ex) { } return(listaCorreos); }