Archived Forum Post

Index of archived forum posts

Question:

GetUIDLS does not retrieve all emails !!

Aug 22 '13 at 13:55

Hi guys, here is my question:

I am using the method GetUidls() in C# to retrieve all emails in my gmail account, but this method return the same number UIDLs, even if I recieve a new email it's still returns the same UIDLs.

How can I do to recieve the new UIDLs ??

Thanks !


Answer

When a POP3 client begins a session, it gets a snapshot of the UIDLs in the Inbox. This is defined by the POP3 protocol specification itself. During the session, the UIDL command (sent by the client to the server) will always return the full set of UIDLs that existed in the Inbox at the time the session was begun, even if new emails have arrived since. The only way to see the new UIDLs is to end the session and begin a new one.

Also, many people get confused with GMAIL. They compare what is seen in the GMail interactive web interface vs. what UIDLs actually exist in the POP3 INBOX. See this for more information: http://www.cknotes.com/?p=218 Also see this: http://www.cknotes.com/?p=148

Finally, one can always examine the Pop3SessionLog property after fetching the UIDLs. It will show the UIDL command and the full server response that lists all the UIDLs in the INBOX. This is definitively the correct set of UIDLs -- it is what exists in the INBOX at the start of the session, and there can be no debate about it.