On Mon, 6 Sep 1999, Jukka Zitting wrote:

> Hi all,
> 
> I'm implementing maildir support for the GNOME's messaging library
> Camel. Camel uses a provider abstraction for mail stores. A store
> provider object allows a MUA to access mail folders and messages through
> a simple storage-independent API. The folder abstraction has support for
> both messages and subfolders although a provider is not required to
> implement both.
> 
> It was quite easy and straightforward to implement the basic message
> handling operations for isolated maildir folders. I'm now wondering
> whether I should also add support for subfolders. It doesn't seem too
> difficult and I already have a few ideas for doing it. I'd like to know
> if anyone has already implemented subfolders in maildirs and how it has
> been done.

Yes, I have implemented maildir subfolders in two separate applications:  
webmail CGI client, and a maildir-aware mail filter.  I'm also working on
a third application that uses the same layout.

> I searched through the mailing list archives for more information about
> maildir subfolders and found a number of messages discussing the matter.
> There however doesn't seem to be any standard way to implement
> subfolders. I'm asking anyone who's developed or used maildir subfolders
> to share his/her experiences so I can make the Camel library support any
> extensions to the maildir format.

DJB does not have anything to say on this, so it's pretty much everyone on
their own.  When I looked at it ages ago, someone else on a mailing list
mentioned how he was working on implementing maildir folders in his imap
client.  I don't believe that he actually finished it, but I just took his
rough idea, and ran with it.  Afterwards, I've also implemented a
voluntary quota mechanism for maildirs and subfolders on top of the same
layout.

Before you go any further, you might want to take a look at how I did it.
Look at: http://www.inter7.com/sqwebmail/ and
http://www.flounder.net/~mrsam/maildrop/.

In either package you want to take a look at the maildir subdirectory -
it's the same in both packages.  The subdirectory includes some
documentation of what I did, plus some source code.

Currently, the mechanism allows for one level of subfolders only.  I'm
currently thinking of ways to implement a subfolder hierarchy. For various
reasons, I'm leaning against implementing a subfolder hierarchy using
nested subdirectories.  Instead, I'm leaning towards using a hierarchy
separator character in the name of each subfolder, a'la IMAP.


Reply via email to