Tomas Krag wrote:
Sorry,
that was exactly what I was wondering about. In the meantime I have fooled
around with offlineimap to see if I could get a different folder
structure.

It now looks like this:

~/Maildir/INBOX
~/Maildir/INBOX.sent
~/Maildir/INBOX.maillist
~/Maildir/INBOX.maillist.binc
etc.

And I have binc setup to use IMAPdir depot, but when I connect to it with
Thunderbird it finds all my read mail, but none of my new mail. I can see
there is mail in ~/Maildir/INBOX/new/ but it doesn't seem to show up in a
folder.

Any ideas?

/tomas

The problem is that offlineimap puts flags on the end of mails that it puts in the 'new' directory (the :2, bit). Bincimap doesn't recognise these. To get round this you can write a little script which moves the mails from 'new' to 'cur' - then bincimap will see them.


Or you can change offlineimap's behaviour. I've attached a patch to do this, but only use it if your feeling brave. It works for me, but I wouldn't guarantee anything.

Daniel
--- orig/offlineimap/folder/Maildir.py
+++ mod/offlineimap/folder/Maildir.py
@@ -135,7 +135,7 @@
             # We already have it.
             self.savemessageflags(uid, flags)
             return uid
-        if 'S' in flags:
+        if flags:
             # If a message has been seen, it goes into the cur
             # directory.  CR debian#152482, [complete.org #4]
             newdir = os.path.join(self.getfullname(), 'cur')
@@ -172,7 +172,8 @@
         os.unlink(os.path.join(tmpdir, tmpmessagename))
         self.messagelist[uid] = {'uid': uid, 'flags': [],
                                  'filename': os.path.join(newdir, messagename)}
-        self.savemessageflags(uid, flags)
+        if flags:
+            self.savemessageflags(uid, flags)
         ui.debug('maildir', 'savemessage: returning uid %d' % uid)
         return uid
         
@@ -182,12 +183,7 @@
     def savemessageflags(self, uid, flags):
         oldfilename = self.messagelist[uid]['filename']
         newpath, newname = os.path.split(oldfilename)
-        if 'S' in flags:
-            # If a message has been seen, it goes into the cur
-            # directory.  CR debian#152482, [complete.org #4]
-            newpath = os.path.join(self.getfullname(), 'cur')
-        else:
-            newpath = os.path.join(self.getfullname(), 'new')
+        newpath = os.path.join(self.getfullname(), 'cur')
         infostr = ':'
         infomatch = re.search('(:.*)$', newname)
         if infomatch:                   # If the info string is present..

Reply via email to