looking for Cyrus mail format documentation

Earl R Shannon Earl_Shannon at ncsu.edu
Fri Jan 31 08:21:20 EST 2003


Hello,

One of the disadvantage of using Cyrus might be that there is
no API to the mail store other than the IMAP protocol. You simply
cannot go mucking around the mail store with "external programs"
without the potential to cause problems.

That said, mail is stored in directories that map unto folders
and each message has its own file. Seems pretty straight forward
until you realize that the file names and directories have
metadata associated with them that the IMAP server process needs
and maintains. One simply does not mkdir in someone's account
and expect the corresponding folder to show up. Nor can you
simply create a file with what appears to be an appropriate name
and have the message show up in a folder.

Cyrus documentation calls the IMAP server a black box. This is
defined to mean that the users do not have access to the
account/data accept through the well defined ( :-/ ) IMAP protocol.
This black box concept also extends to a certain extent to
the administrators of the servers.

Best way to learn something is through experience. Set up a
server and look at how it does things. If you opt for compiling
it yourself choose the flat file options for all the databases.
This will leave the data in a format that is human readable,
sorta, and you can figure out what is going on.

Regards,
Earl Shannon



Phil Howard wrote:
> A couple people have suggested to me that I use Cyrus-IMAP as
> opposed to Courier-IMAP, and have given some good arguments
> for that decision direction.  However, I have still have one
> show stopper for that switch: some external programs that work
> directly with the storage space of all the mail.  Due to the
> nature of some of these programs, accessing that mail by means
> of the IMAP protocol or any delivery protocol is not an option.
> 
> What I want to examine at this point is the potential ease of
> converting those programs to work with the format Cyrus-IMAP
> stores its mail.  Had Cyrus-IMAP used the Maildir format, this
> would be a simple "unplug Courier" and "plugin Cyrus".  The
> issue is not about converting existing messages (the transition
> will be done with all empty mailboxes).  The issue is knowing
> the details of the format in its entirety.
> 
> I've looked around the web site and the source file tree and I
> find no documentation on this format.  I have been told two
> different stories about references to other formats it is like.
> But then, I've also heard people tell me Cyrus-IMAP really
> does use Maildir format (and as far as I can see, that simply
> is not true).
> 
> So basically, I'm asking if any documentation(s) exists which
> would described (preferrably in a "standards" style) just what
> the format is.  Please don't refer me to the source code, as
> I already have that, and I've never found that method to be
> a clean way to deal with all the issues (too often semantics
> are missed because the implementation doesn't push requirements
> to the edge).  Documents in ASCII, HTML, or PDF preferred.
> 
> I was also looking for documentation on SASL.  That I found in
> the RFCs.  That's the kind of thing I'm looking for regarding
> the file formats.
> 






More information about the Info-cyrus mailing list