[pkg-fetchmail-maint] Bug#317093: fetchmail: does not delete
downloaded messages before finishing downloading everything
Goswin von Brederlow
brederlo at informatik.uni-tuebingen.de
Thu Jul 21 10:05:53 UTC 2005
Hi,
I'm assuming you are using pop to download your mails, right?
The pop protocol has an inherent flaw that deletion of mail differs
between implementations. Some implementations will delete the mails
you fetched when the connection is broken while other require a
correct goodby message at the end of the fetch cycle before they
delete anything.
So there is nothing fetchmail can do to fix this problem directly.
What fetchmail can do is:
- not download messages it downloaded already
This should be the default. I don't remeber ever changing anything
there and fetchmail skips already seen messages when my mailserver
fails to delete some on a previous cycle.
You might hit the following (from man fetchmail):
Note that while running in daemon mode polling a POP2 or IMAP2bis
server, transient errors (such as DNS failures or sendmail delivery
refusals) may force the fetchall option on for the duration of the next
polling cycle. This is a robustness feature. It means that if a mes-
sage is fetched (and thus marked seen by the mailserver) but not deliv-
ered locally due to some transient error, it will be re-fetched during
the next poll cycle. (The IMAP logic doesn't delete messages until
they're delivered, so this problem does not arise.)
- only fetch a limited number of mails total in one go
- terminate and reestablish the connection every few mails
-B <number> | --fetchlimit <number>
(Keyword: fetchlimit) Limit the number of messages accepted from
a given server in a single poll. By default there is no limit.
An explicit --fetchlimit of 0 overrides any limits set in your
run control file. This option does not work with ETRN or ODMR.
-e <count> | --expunge <count>
(keyword: expunge) Arrange for deletions to be made final after
a given number of messages. Under POP2 or POP3, fetchmail can-
not make deletions final without sending QUIT and ending the
session -- with this option on, fetchmail will break a long mail
retrieval session into multiple subsessions, sending QUIT after
each sub-session. This is a good defense against line drops on
POP3 servers that do not do the equivalent of a QUIT on hangup.
...
I believe you will want to add something like "-e 100" to your
fetchmail config. Avoid too low a value (like 1) as breaking and
remaking the connection costs extra time.
MfG
Goswin
PS: If this solves your problem plese send a mail to
317093-done at bugs.debian.org
More information about the pkg-fetchmail-maint
mailing list