Is There a Global "Message Limit" Option?

POP Peeper: Tech support, suggestions, discussion, etc.
Post Reply
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Is There a Global "Message Limit" Option?

Post by robert2323 »

In the Advanced settings for each individual email account, there is a setting called "Message Limit." Is there a global setting under Tools->Options that does the same thing for each account all at once (and also doesn't affect anything on the server itself)? If there isn't such a global setting for this feature, is there any global setting (or combination of global settings) that is close? I use IMAP exclusively.

I only want Pop Peeper to display the most recent 50 messages for each account. Earlier emails I can view on the server if needed.

Thank you.
User avatar
mjs
Moderator
Posts: 2216
Joined: Sun Jul 17, 2011 2:36 am

Re: Is There a Global "Message Limit" Option?

Post by mjs »

Try this by entering the number of messages you want ("Tools"/"Options..."):
Click on screen-shot to enlarge for better viewing (back page to return to forum)
Click on screen-shot to enlarge for better viewing (back page to return to forum)
Good judgment comes from experience and a lot of that comes from bad judgment. - Will Rogers
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Re: Is There a Global "Message Limit" Option?

Post by robert2323 »

Thanks for the response.

When setting the Message Limit (either globally or individually), how does one force Pop Peeper to delete from storage all the data from earlier messages?

Basically, I'm trying to cleanup my Pop Peeper. After years of use and many email accounts, I found that the amount of processing memory (not hard drive storage, but internal memory) Pop Peeper has been using has been close to a 1 GB.

Setting the Message Limit on various accounts has helped lower the internal memory usage, but the storage (hard drive) remains. How does one get rid of this? Compaction would only, I believe, compact all the email messages and headers, but not delete them from storage. So in other words, I'd like Pop Peeper to store to disk only what it currently displays (say, 50 messages per email account) deleting all the stuff from earlier (which will still exist on the server, if needed).

Any other tips for reducing Pop Peeper resource usage would also be appreciated.

Thank you.
User avatar
Jeff
Admin / Developer
Posts: 9234
Joined: Sat Sep 08, 2001 9:46 pm

Re: Is There a Global "Message Limit" Option?

Post by Jeff »

The databases need to be compacted; usually, this is done automatically every 90 days, but you can force it:
Main menu: Tools / Options / Storage;
Tick the box for "Force compact on next start"
Press OK

As it suggests, you'll need to exit/restart POP Peeper. Just be prepared that it might take a while to open in your case (one time). Just wait for it to finish and definitely do not kill the process or you could end up with corrupted data.


What version of POP Peeper are you using? And how many messages did you have, if you remember?
Recent versions (since v4.4) should use significantly less RAM than previous versions. For comparison, I have 17000 messages in POP Peeper and it's using 70MB (private) / 125 (working) .
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Re: Is There a Global "Message Limit" Option?

Post by robert2323 »

Are you saying that after the database is compacted, and if I have the Message Limit set to 50 for each account,Pop Peeper will only store to the database the most recent 50 messages (in my case, headers) for each account?

I am running the version you released yesterday to solve the OAuth2 problem (4.5.3.0), but I had been running 4.5.2.0 up until then.

To answer your question, I have so many messages total in all my accounts that Pop Peeper won't display them fully at the bottom left of the interface. The sixth digit is cut off, and I don't know if there is a seventh digit (I sure hope not). What is displaying is 118138 (the final '8' digit a guess) so I have at least that many messages. I have a total of 52 email accounts in Pop Peeper, most of them gmail.

As I said before, I'm trying to clean things up. I started using Pop Peeper about ten years ago, and I never had to really learn its vagaries. So I am actually a long-time user of the program.
User avatar
Jeff
Admin / Developer
Posts: 9234
Joined: Sat Sep 08, 2001 9:46 pm

Re: Is There a Global "Message Limit" Option?

Post by Jeff »

Here's a quick explanation: when items are deleted from a database, the file size does not immediately reduce. This is more efficient when items are added/deleted because having to constantly expand and reduce the file size takes time (and probably more wear&tear on the physical media). So the "compact" (aka vacuum) will basically reclaim all that reserved space from the items that have been deleted. Note that you shouldn't do this until you've cleaned up the messages in POP Peeper.

The idea is a lot like memory and why, just because Task Manager tells you that a program is using X amount of RAM doesn't really mean it's using that much RAM. If you have a lot of excess RAM, it's more efficient for Windows to allow a program to have access to more RAM than it currently needs.


If you're interested, there's another way to see exactly how many messages you have: In the Account List, right-click on empty space and then select "Server info (all)"
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Re: Is There a Global "Message Limit" Option?

Post by robert2323 »

I'm still unclear about something. I will ask it again.

Are you saying that after the database is compacted, and if I have the Message Limit set to 50 for each account,Pop Peeper will only store to the database the most recent 50 messages (in my case, headers) for each account? In other words, do I have to actually delete the messages older than the 50th message for the storage to be reclaimed or does setting the Message Limit to 50 work just as well (to reclaim the older storage).

Also, I tried your method to see how many total messages I have, and it didn't work for me. For one, I do not get a "Server info (all)" option. The item I get within the context menu is just "server info... ." It seems to work only for individual accounts. When I tried selecting all the accounts first and then right clicking an empty area, I still get server info for only one account.
User avatar
Jeff
Admin / Developer
Posts: 9234
Joined: Sat Sep 08, 2001 9:46 pm

Re: Is There a Global "Message Limit" Option?

Post by Jeff »

The database will only store messages that you see in the message list. If the message list only shows 50 messages, then the database is only storing those 50 messages. (technicality: not considering hidden messages/filters). So, to be more clear:
robert2323 wrote: Tue Aug 27, 2019 2:39 pm Are you saying that after the database is compacted, and if I have the Message Limit set to 50 for each account,Pop Peeper will only store to the database the most recent 50 messages (in my case, headers) for each account?
Yes.
do I have to actually delete the messages older than the 50th message
No. (unless, maybe if you've disabled "remove messages not on server")

Bottom-line: if you set the message limit to 50, and you see that the account only has 50 messages -- you're good. But the database will have to be compacted (either automatically when the time comes or immediately by telling it to) for you to see the change in the file size. RAM change should occur immediately to sooner-ish (or exit/restart to force), because of what I alluded to before regarding Windows memory management.
For one, I do not get a "Server info (all)" option.
You have to select "empty" space which is not part of an account, ie. below the last account in the list. Assuming you have more accounts than fits on a page, scroll the list to the very bottom and there's at least a few pixels below the last account that you can right-click on. Adjusting the height of the window can provide slightly more space.

Here's a screenshot to provide a little more context; notice I've scrolled the list to the bottom and the mouse cursor is below the last account, but above the border. I forgot to mention that you need "advanced options" enabled under Tools / General, but you obviously have that if you were able to see "server info". Screenshot is from PPv5 but the gist is the same.
PP_ServerInfoAll.png
PP_ServerInfoAll.png (16.63 KiB) Viewed 5182 times
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Re: Is There a Global "Message Limit" Option?

Post by robert2323 »

Thank you for the clarifications, Jeff.

Yes, I was not right-clicking the white space below the account list. I was right-clicking the white space within one of the accounts in the list, as you surmised.

Here is what my Pop Peeper memory looks like:

PP_ServerInfoAll.JPG
PP_ServerInfoAll.JPG (23.38 KiB) Viewed 5175 times

So that's a rather big memory footprint the way it currently is. With all the information you've given me, I will be able to clean this up over the next few days. Thanks again.

It appears that I last compacted five days ago. So the sizes are probably NOT related to empty spaces needing compacting, but by the actual large number of messages being saved. Is that how you would interpret this also?
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Re: Is There a Global "Message Limit" Option?

Post by robert2323 »

I've finally started the cleanup operation, and I have had a few problems.

I have 52 email accounts. When I set the global message retrieval limit to 50 under Tools/Options/Message Retrieval, then set Pop Peeper to compact after the next startup, Pop Peeper skipped a bunch of accounts. About 2/3 of the accounts were set properly to 50 messages while others were left untouched. So I went through each of these skipped account one by one and set their corresponding message limit option per account under Advanced. I then recompacted the database. Still, these accounts remained at their higher number of messages, some in the thousands.

The two-thirds of my accounts that have been reduced to a 50-message limit have really helped with the total amount of RAM Pop Peeper is using. So in that regard I am very pleased.

I do wish, however, I could set all my accounts to the 50 message limit. Do you have any suggestions on why this feature doesn't appear to be working? I've seen no indication from Pop Peeper that I have any data corruption. And I assume that if I did have data corruption, the compacting step would have either failed or cleaned up the corruption. But, again, I've seen no indication of such.
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Re: Is There a Global "Message Limit" Option?

Post by robert2323 »

I believe I have figured out what the problem is. I'm not sure whether this is how Pop Peeper is supposed to work, but at least I can get around it (sort of).

Forgive me if what I am about to say is something I should have already known about, but I don't recall reading about it. If the underlying messages on the email server, such as Google's gmail servers, have not been read, they will still show up in Pop Peeper regardless of the Message Retrieval limit. The email accounts that I said had been "skipped" are all email accounts that I often don't bother reading so the read status for these messages on the server is "unread." Many are junk email accounts that contain copies and forwards from other email accounts. Thus they have plenty of unread messages.

Is this how Pop Peeper is supposed to work? If so, it seems to circumvent the reason for having a Message Limit in the first place.

So the way Pop Peeper works now is that even though I can go and manually bulk set the read status to "read" at the server, once more than 50 new unread messages come to these junk email accounts, I will start seeing more than 50 messages again for these accounts. I hope there is some sort of solution for this.

Thanks.
User avatar
Jeff
Admin / Developer
Posts: 9234
Joined: Sat Sep 08, 2001 9:46 pm

Re: Is There a Global "Message Limit" Option?

Post by Jeff »

I realize now that I did a poor job of explaining what you should do, so let me try that again. I hope this is a better explanation:
The database doesn't care what the "message limit" is set to, it will store all messages that POP Peeper knows about, even if it's more than the message limit. What the "message limit" directly affects is how many messages POP Peeper will request from the server. When the account only displays 50 messages, then only those 50 messages will be saved to the database. So -- after setting the message limit, you want to make sure that you perform a "check mail" and that each of your accounts only displays up to 50 messages, then you can force the database compact and restart POP Peeper.

Ok, so the next question is: even after performing a check mail, some of your accounts show more than 50 messages. Here are some possibilities:

1) Idling Imap accounts
If any of your accounts are Imap with idle enabled, they will ignore a general "check mail" request if they're already connected to the server. Long story short: this scenario would reset itself when you exit/restart POP Peeper. Another method to disconnect all your accounts is to disable AutoCheck by pressing the green button on the bottom-right and then re-enable it, then perform the check mail and you should see the extraneous messages disappear.

2) WebMail
If the accounts are webmail, they don't adhere to the "message limit" (which is only for pop3/imap accounts), but there's another setting right next to it which is the equivalent: "webmail: retrieve only the first inbox page".

3) Remove messages not on server
This is a per-account option (edit account / Advanced). It is enabled by default and you WANT it enabled. If you have it disabled, then POP Peeper will keep your extraneous messages and you will see a red-X in the '!' column for these messages.

Hopefully, one of those explains what's happening.


Regarding your prior message about the "server info" -- I'm going off the top of my head (and I know some of these details changed, particularly in v4.4, so hopefully I remember it all correctly):

Mem size: this basically represents the raw data for the size of message headers (headers only, not bodies). So 328 MB with 118000 messages puts the average header size at just under 3KB, which is normal. Of course, that's just a baseline and there's lots of other data being stored in memory.

File size: I believe that this is the uncompressed size of the data in the databases; basically: message headers + message bodies. This is closer to the baseline amount of memory that PP would have used prior to v4.4.

Server size: This is the approximate size of all your messages being stored on the server.

The only bit of information that is semi-relevant to the size of the database files is the "file size." However, the database compresses the email data (email compresses fairly well since it's mostly text, unless you have a lot of attachments that are compressed [including graphics]) and it doesn't consider space that could be compacted.


Just saw your latest message. No, that's not how it should work; but I really haven't looked into this setting in a while, so let me double-check and get back to you. I'm going to assume that you're using IMAP to access these accounts -- let me know if that's not the case (the protocols all do this differently, so it's best if I use what you're using to test).
User avatar
Jeff
Admin / Developer
Posts: 9234
Joined: Sat Sep 08, 2001 9:46 pm

Re: Is There a Global "Message Limit" Option?

Post by Jeff »

Here's the test that I just performed:
- POP Peeper v4.5.3
- Gmail account with 1500+ messages; Imap, Idle
- Set to retrieve headers only (faster; this shouldn't have an impact)

1) I first did a check mail with no message limit, so PP has all 1500 messages
2) Set the global message limit to 100
3) Right-clicked on the account and performed "check mail" (this forces the account to check, regardless of idle state)
4) POP Peeper now shows 100 messages, as expected
5) Sent this account a new email
6) POP Peeper retrieved the new email, and I still have 100 messages in this account, as expected

If you have a procedure that results in something different, let me know.
robert2323
Posts: 11
Joined: Fri Jan 11, 2019 8:35 pm

Re: Is There a Global "Message Limit" Option?

Post by robert2323 »

Jeff,

After reading what you just wrote, it dawned on me what the problem actually is.

The email accounts that were "skipped" are email accounts that only poll after 720 minutes (twice a day). Since these are junk accounts, as I have described, they hadn't yet polled the server. I have them set to 720 simply to let Google know that I still use the accounts. I'd set the polling even lower, like to once a week, if Pop Peeper would let me.

So that is why they were skipped. You hadn't mentioned the polling for new email step until your last email. Once I read that, I realized what the problem actually was. So I manually checked for new email on a few of these "720" accounts, and the total email messages under Pop Peeper's scope for these accounts dropped to required 50, irrespective of the "read" status of the emails sitting on the server.

I wanted to write this quickly so you wouldn't waste any of your time.

Thanks. If I think of any other detail that I left out I will write again.
User avatar
Jeff
Admin / Developer
Posts: 9234
Joined: Sat Sep 08, 2001 9:46 pm

Re: Is There a Global "Message Limit" Option?

Post by Jeff »

Glad that it's resolved now :)

I knew I had changed the polling interval at some point, but wasn't sure what version; and it looks like I had tied it to v5. Anyway, you'll be happy(?) to know that the new limit in v5 is 4320 minutes / 72 hours / 3 days.
Post Reply