Around 3:27am on Tue, 13 Jan 2004 a mail from Eric S. Raymond said ...
Andrew McGill <fetchmail(_at_)ledge(_dot_)co(_dot_)za>:
This should solve the all-too-frequent problem of a 26Mb mailbox
consisting of two 7MB mails and lots of little ones. The mailbox
frequently can't be processed in a single session without
introducing the horrid overheads of --expunge 1.
In my opinion, the not-too-horrid overhead of --expunge 1 is
preferable to adding more complexity to the code, especially
when that complexity is a band-aid covering serious low-level
network problems.
Wouldn't you agree that POP3 is a largely a band-aid covering
serious network problems :) ? If you have to use a band aid, it
is nice when it more or less covers the wound ...
1. The performance of --expunge 1 can be particularly horrid -
the server may do a slow reverse DNS lookup. One of our clients
uses a POP3 server that has a 20 second DNS lookup time (they are
cheap), and fetchmail 5.9.13 disconnects when it gets a -ERR
response to "CAPA" ... 20 seconds * 2 * (number of messages) - it
adds up very quickly.
2. To --expunge after a certain number of messages without regard
to the time that was spent downloading these messages or their
size is not incredibly helpful. As a result, the only useful
application of the --expunge option seems to be --expunge 1,
which is equivalent to --transferlimit 1 (proposed) ...
How about a revised patch to modify the configuration directive
for "expunge" to take an optional unit? ie.
expunge 1 # current usage, equivalent to (proposed)
expunge 1 message # expunge after 1 message
expunge 1 kb # expunge after 1 kb or more
expunge 60 seconds # expunge after 60 seconds or soonest
&:-)
--
su `whoami` # be YOURSELF!