Christian Uebber <briefkasten(_at_)uebber(_dot_)de> writes:
UIDL shoudn't be needed for imap, since imap implements server side
tracking of seen states. As far as I know UIDL is supposed to be used
with POP3 only to achieve there what imap is able to do out of the box.
Excerpt from the fetchmail man page:
"The UIDL code is generally flaky and tends to lose its state on errors
and line drops (so that old messages are re-seen). If this happens to
you, switch to IMAP4."
I still haven't had the time to look at the original problem, but I have
removed this bogus assertion from the manual page, so don't quote it any
longer :)
fetchmail used to make some inadequate assumptions about its working
environment.
fetchmail is an MTA, and as such the task is to transfer each message of
the upstream mailbox to the SMTP server or MDA exactly once.
However, under the aegis of ESR, fetchmail was under the impression it
should only transfer mail that the server considered "unseed", which
turned fetchmail into and let the *server* track the seen
state, and was careful not to mark a message seen by using the TOP
command and such hacks, which turned up a slew of server implementation
problems that a regular mailer would never see.
This paradigm also disallowed the use of another mailer - you mentioned
PINE and Mulberry - to quickly check for mail, perhaps with his laptop
in a train or at a friend's machine.
The medium-term goal is to make fetchmail a system that works reliably,
and that means using client-side UIDL (for POP3) and UIDVALIDITY/UID
(for IMAP) based tracking of mail that has already been retrieved, and
it may imply that fetchmail in default settings marks mail as seen on
the server and retains the capability of not marking it seen only as a
configuration option.
--
Matthias Andree