X-OfflineIMAP header and Exchange

Dominic LoBue dom.lobue at gmail.com
Wed Feb 3 08:43:19 GMT 2010

On Fri, Jan 29, 2010 at 8:07 AM, Dave Mussulman <mussulma at gmail.com> wrote:
> Hi gang,
> I'd like to revisit the per-message dynamic header X-OfflineIMAP-xxxx
> issue because now I'm getting pressure from my Exchange admins about
> filling up the MAPI header tables.
> I found http://software.complete.org/software/issues/show/114 but had a
> few questions about the patch.
> The patch only seems to address the X-OfflineIMAP-* header when it's
> created.  Wouldn't a patch also need to modify wherever that header
> gets parsed/read/sync'd?  Or is just changing how it's created good
> enough?
> What's the impact of making this change on a large existing sync'd
> maildir?  Would my messages show up as new again?  Anything else to look
> out for before trying the patch?
> I'm running OfflineIMAP 6.1.2 because I like the IDLE feature.  The
> patch looks easy enough to apply; I just don't understand what
> OfflineIMAP does under the hood with that header.  My usage is pretty
> vanilla - one Remote Exchange store to a local Maildir.  No other
> instances or sync'ing.
> Thoughts?
> Dave
> _______________________________________________
> OfflineIMAP-project mailing list
> OfflineIMAP-project at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/offlineimap-project
> OfflineIMAP homepage: http://software.complete.org/offlineimap


I am working on doing a rewrite of OfflineIMAP, and since John hasn't
responded to your question yet I'll field it.

Before I start responding to your questions though, let me begin by
saying that I am still unsure myself of why exactly the X-OfflineIMAP
header is constructed the way it is. I searched through the mailing
list's history on Gmane for clues and found the below email threads:

In one of the threads John says the header is built like it is in
order to compensate for some bug in Exchange, and in one of the other
threads he says its a performance enhancement.

My point: would you be willing to work with me to resolve this problem
once and for all? I'll be able to answer all your questions if you

If you do not want to work with me, then to answer your question on
what effect the patch would have on your existing mail, I see several
possible scenarios:
1. All emails using the X-OfflineIMAP header are duplicated.
2. All emails using the X-OfflineIMAP header are deleted.
3. Nothing happens.

I don't think there's a chance in hell scenario 3 will occur though.

To be safe, I suggest the following procedure for applying the patch:
1. Kill all instances of OfflineIMAP.
2. Make a complete backup of your local maildir.
3. Rename both the local maildir that is kept in sync by OfflineIMAP
as well as OfflineIMAP's metadata directory so when OfflineIMAP is
started again it will not find either. (This will cause OfflienIMAP to
download everything again from scratch. Should only need to do this
4. Apply the patch to OfflineIMAP.
5. Start the newly patched OfflineIMAP.

If you are amenable to working with me however, here are some
directions to get the data I need:
-Find the metadata setting in your .offlineimaprc config file and open
that directory.

-Inside the metadata directory (default is ~/.offlineimap), you'll
find one directory whose name starts with "Account-", and two
directories whose names start with "Repository-". Make a tarball of
(or zip up) these three directories and email them to me. (These
folders do not contain any sensitive data. They just contain a cache
of what everything looked like during the last sync. Don't just take
my word though, take a look to make sure.)

Dominic LoBue

More information about the OfflineIMAP-project mailing list