Question:

Our problem that in the POP3 incoming account there are 400 mails but the developer’s UIDL query can see only the first 251 mails and downloads only 251 mails.

Answer:

There may be several common reasons.  The first thing to do is to verify number of emails in the mailbox by calling the mailman.GetMailboxCount method.  It sends a STAT command to the POP3 server.  The POP3 server responds with a single line providing two pieces of information:  the number of emails in the mailbox, and the sum of the sizes of all the emails in the mailbox.  If the POP3 server replies to the STAT command saying that there are 251 emails, then there are only 251 emails in the mailbox on the POP3 server.   You may view the raw POP3 response by checking the Pop3SessionLog property.  For example:

**** Connected to mail.chilkatsoft.com:110
< +OK AVG POP3 Proxy Server <584.540060890@IPDMCZ0250MIA> 8.5.268/8.5.278 [270.11.4/1978]
> USER sales@chilkatsoft.com
< +OK
> PASS ****
< +OK
> STAT
< +OK 62 322571

More reasons for not seeing the expected number of emails:

  1. You’re using GMail.  By default, once an email is read by a POP3 client, GMail hides the email from view for all subsequent POP3 accesses, but it is still visible via the web interface.  There is a GMail account setting that can be modified to prevent this behavior.  See this information:  GMail POP3 Access
  2. You’re viewing the POP3 mailbox using Outlook or another email client and some of the emails you see are not actually on the POP3 server, but have already been downloaded and removed from the POP3 server.  You’re seeing the emails already saved to your local computer.
  3. When a POP3 session is established, you get a snapshot of the mailbox that does not change.  If new emails arrive, they will not be seen until the session is ended and re-started.  To do this, you may call Pop3EndSession followed by Pop3BeginSession.
  4. You set the MailMan’s MaxCount property to prevent downloading more than a maximum number of emails.