Esempio n. 1
0
    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());
    }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
    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();
    }
Esempio n. 4
0
    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);
    }
Esempio n. 5
0
        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();
            }
        }