Feature #104
Syncing mail moves between directories
| Status: | Closed | Start: | 10/01/2008 | |
| Priority: | Low | Due date: | ||
| Assigned to: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | - | |||
| Resolution: | Invalid |
Description
Hi I am pretty new to the barebones level that offline imap and mutt have exposed me to and I was wondering if there is any way to track mails being moved from one mailbox/folder on the server and the syncing this behaviour with the local mailbox.
I set up a Inbox archiving filter in imapfilter today to speed up filtering and noticed that after about 700 mails got moved almost instantly on the mail servers side offlineimap had to do a delete and then redownload on all of the mails.
With my second account I set up the same procedure but tried to mimic the changes made serverside to my local maildir before actually running offlineimap by moving the appropriate mail with Mutt. I noticed all the mail was however redownloaded again.
Im not sure if it is even possible to implement a feature like this, but I know it would have saved me almost a 100meg's worth of bandwidth today. so if someone who understands the internals a bit better could clear this up for me a bit I would much appreciate it.
Thank you,
Sias
History
Updated by John Goerzen 526 days ago
The IMAP protocol does not provide enough information for OfflineIMAP to know for certain that message X in folder B used to be known as message Y in folder A. There is nothing that can be done to optimize this behavior.
Updated by John Goerzen 526 days ago
- Status changed from New to Closed
- Resolution set to Invalid
I would suggest you could run OfflineIMAP out of cron and time it to run just after your filter runs -- or even run it from a script that does filtering first, then syncing.
Updated by Sias Mey 526 days ago
Thanks for the quick reply
Hmmm ok ... Just thought there may be some UID magic or something you could do.
I am actually using a patch submitted in another feature request that lets me execute imapfilter from a presync hook. this takes care of most of the issues. Just the initial sync takes quite some time (to be expected I suppose).