POP3 re-downloading mail

Gene Rackow rackow at mcs.anl.gov
Mon Nov 8 15:01:23 EST 2004


I've run into this with a number of pop based clients.  From what I have
seen, the problem comes up on a client IF there was some sort of error
that occured the previous time that client ran.  For example, the
client for some reason disconnected in the middle of downloading a message.
There are 100 message on server.  The last 10 were not seen by the client
yet so it was downloading those.  In the middle of message "new-9" or 99,
an error occurred.  The client now gets confused about what it has and
the next time it downloads, it starts over at message 1.  It's wrong,
but it happens.  I would not blame the server unless I had a strong
case that it really did recalc all message UIDL.

--Gene


"Michael Nguyen" made the following keystrokes:
 >> Sascha Wuestemann wrote:
 >>
 >> >On Sun, Nov 07, 2004 at 11:53:52PM -0500 or thereabouts, Warrick
 >FitzGerald wrote:
 >
 >Hi Warrick and Sascha,
 >
 >> >Hi Warrick,
 >> >
 >> >seen information is saved at server side for imap and pop3, too.
 >
 >[snip]
 >
 >> Let's say you have two POP3 clients one set to leave mail on the server
 >> for a week and one set to leave mail on the server for a day.
 >>
 >> If the one that's leaving thing on the server for a week pick's up mail,
 >> the other is not effected in any way .. and you're messages are not
 >> marked as seen in any way. Are you sure POP3 has seen state on the server?
 >
 >Yes it is...in a way.  It's actually "saved" on both.  Technically it's only
 >saved on the client, but it uses to the server to tell what's been
 >downloaded.  The client asks the server to give a "UID" of the messages on
 >the server.  The client then downloads the messages and records what UIDs it
 >has seen.  When the client checks mail again, it requests UIDs again.  Any
 >UID that it hasn't seen, it requests retrieval.
 >
 >Here's how you can try it out yourself:
 >
 > - Open a command prompt
 > - Open a telnet session to your mail server on port 110
 >     - e.g. telnet mail.sascha.fi 110
 > - You'll get a POP3 banner.  Login as follows:
 >    - user <username> <enter>  (this is how your client passes login name)
 >    - pass <password> <enter> (this is how your client passes your password)
 >    - list <enter> (this is how your client gets a list of your messages.
 >You are returned a message number with a message size.)
 >    - uidl <enter> (this is how your client gets a list of UIDs for each
 >message.  You are returned a message number with UID)
 > - At this point you can get a message using RETR (e.g. RETR 1 will retrieve
 >message 1)
 > - If your client is set to delete messages after retrieval, the client then
 >deletes using DELE (e.g. DELE 1 will delete message 1)
 >
 >[snip]
 >
 >Anyway, what this all means is that the new server-side software merely
 >recalculated all of your users' UIDs, thus making them appear to be new to
 >your clients.  POP3 is very simple compared to IMAP.  There is no "seen"
 >flag.
 >
 >
 >Michael
 >
 >---
 >Cyrus Home Page: http://asg.web.cmu.edu/cyrus
 >Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
 >List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
 >
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list