public mail_recibido[] mailsRecibidos() { SQLiteCommand cmd = new SQLiteCommand(G.conexion_principal); cmd.CommandText = "SELECT uidl, remitente_nombre, remitente_mail, asunto, mensaje, fecha, id FROM Mails_recibidos WHERE usuario_id = ? AND asunto is not null order by fecha desc"; SQLiteParameter param = new SQLiteParameter(); cmd.Parameters.Add(param); param.Value = this.ID; SQLiteDataReader dr = cmd.ExecuteReader(); List <mail_recibido> lista_mails = new List <mail_recibido>(); while (dr.Read()) { mail_recibido mail = new mail_recibido(); mail.__uidl = dr.GetString(0); mail.__remitente_nombre = dr.GetString(1); mail.__remitente_mail = dr.GetString(2); mail.__asunto = dr.GetString(3); mail.__mensaje = dr.GetString(4); mail.__fecha = dr.GetDateTime(5); mail.__id = dr.GetInt32(6); lista_mails.Add(mail); } dr.Close(); dr.Dispose(); cmd.Dispose(); return(lista_mails.ToArray()); }
private void getMails() { Rfc822Message message; mail_recibido mailRecibido = new mail_recibido(); string uidl; if (recibidos) { Cargando carg = new Cargando(); carg.Ejecutar(); //sincronización mails. client = G.crear_cliente(); int ciclos = 0; while (client.ConnectionState != EPop3ConnectionState.Authenticated) { Thread.Sleep(100); ciclos++; if (ciclos > 120) { break; } } Pop3MessageUIDInfoCollection messageUIDs = client.GetAllUIDMessages(); uint i = 1; foreach (Pop3MessageUIDInfo uidInfo in messageUIDs) { uidl = uidInfo.UniqueNumber; if (!G.user.exists_mailRecibido(uidl)) { message = client.GetMessage(i); //guardo mail mailRecibido.__uidl = uidl; mailRecibido.__remitente_nombre = message.From.DisplayName.ToString(); mailRecibido.__remitente_mail = message.From.Address.ToString(); if (message.From.Address == client.Username) { mailRecibido.__asunto = null; } else { mailRecibido.__asunto = message.Subject.ToString(); } mailRecibido.__mensaje = message.Text.ToString(); mailRecibido.__fecha = message.Date.ToLocalTime(); G.user.guardarMailRecibido(mailRecibido); } i++; } client.Logout(); carg.Detener(); } }
public void guardarMailRecibido(mail_recibido mail) { SQLiteCommand cmd = new SQLiteCommand(G.conexion_principal); cmd.CommandText = "insert into Mails_recibidos(usuario_id, uidl, remitente_nombre, remitente_mail, asunto, mensaje, fecha) values(?, ?, ?, ?, ?, ?, ?)"; SQLiteParameter paramId = new SQLiteParameter(); cmd.Parameters.Add(paramId); paramId.Value = this.ID; SQLiteParameter paramUidl = new SQLiteParameter(); cmd.Parameters.Add(paramUidl); paramUidl.Value = mail.UIDL; SQLiteParameter paramRemitente_nombre = new SQLiteParameter(); cmd.Parameters.Add(paramRemitente_nombre); paramRemitente_nombre.Value = mail.Remitente_nombre; SQLiteParameter paramRemitente_mail = new SQLiteParameter(); cmd.Parameters.Add(paramRemitente_mail); paramRemitente_mail.Value = mail.Remitente_mail; SQLiteParameter paramAsunto = new SQLiteParameter(); cmd.Parameters.Add(paramAsunto); paramAsunto.Value = mail.Asunto; SQLiteParameter paramMensaje = new SQLiteParameter(); cmd.Parameters.Add(paramMensaje); paramMensaje.Value = mail.Mensaje; SQLiteParameter paramFecha = new SQLiteParameter(); cmd.Parameters.Add(paramFecha); paramFecha.Value = mail.Fecha; cmd.ExecuteNonQuery(); cmd.Dispose(); }
public mail_recibido getMailRecibidoByUidl(string uidl) { SQLiteCommand cmd = new SQLiteCommand(G.conexion_principal); cmd.CommandText = "SELECT uidl, remitente_nombre, remitente_mail, asunto, mensaje, fecha, id FROM Mails_recibidos WHERE uidl = ? limit 1"; SQLiteParameter param = new SQLiteParameter(); cmd.Parameters.Add(param); param.Value = uidl; SQLiteDataReader dr = cmd.ExecuteReader(); mail_recibido mail = new mail_recibido(); try { if (!dr.Read()) { throw new Exception("mail no guardado aun"); } mail.__uidl = dr.GetString(0); mail.__remitente_nombre = dr.GetString(1); mail.__remitente_mail = dr.GetString(2); mail.__asunto = dr.GetString(3); mail.__mensaje = dr.GetString(4); mail.__fecha = dr.GetDateTime(5); mail.__id = dr.GetInt32(6); } finally { dr.Close(); dr.Dispose(); cmd.Dispose(); } return(mail); }
public void leerMail(int numero) { if ((new Label[] { index1, index2, index3, index4, index5, index6, index7, index8 })[numero - 1].Visible) { mail_enviado message; if (recibidos) { mail_recibido messageRecibido = messagesRecibidos[numero - 1]; message = new mail_enviado(); message.__mensaje = messageRecibido.Mensaje; message.__para = messageRecibido.Remitente_mail; message.__asunto = messageRecibido.Asunto; message.__fecha_creacion = messageRecibido.Fecha; message.__uidl = messageRecibido.UIDL; } else { message = messagesEnviados[numero - 1]; } leer_mail form = new leer_mail(message, this); form.Show(); } }