From: Sunil S. <sh...@bo...> - 2005-08-30 13:13:32
|
Quoting from Matthias Andree's mail on Tue, Aug 30, 2005 at 10:09:19AM +0200: > > Here, I am assuming a setup like: > > > > poll server > > protocol imap # or "pop3 no uidl" > > fetchall > > limit 1000000 > > flush # this has been put to delete oversized only > > > > Without the 'flush' option, mails which are read through another email > > client also get downloaded without problems. With the 'flush' option, > > such apparently read mails get deleted. > > Yup. There's also a difference between "flush" and "nokeep". I believe > if it's not deliberate, then it's at least useful enough to warrant > further documentation. I think there is some misunderstanding here. The change made in r4173 is reintroducing a bug which had been removed and encouraging users to use the 'flush' option without documenting that even mails under 'limit' can get lost permanently. The 'flush' option is dangerous because it can delete mails which have never been downloaded previously by fetchmail. The 'flush' option is supposed to delete previously downloaded mail. fetchmail thinks a mail has been previously downloaded if its \Seen flag is set. Thus, the 'flush' option will delete all \Seen mails. However, when a user uses another email client to check the users' remote mailbox, the \Seen flag gets set here too. In this case, the mails which have been viewed remotely but not downloaded yet too will get deleted. In short, the 'flush' option will in this case delete mails which have not been downloaded even once. In r4173, the 'flush' option is being connected to the 'limit' option. But, the point is if a user add 'flush' to the rc file (or, on the command line) just to delete oversized mails, mails seen through other email clients can get deleted without any warning. [The above comments are applicable only when uidl is off. Obviously, when uidl is used, fetchmail does not use the server side \Seen flag at all.] -- Sunil Shetye. |