This is still visionary so take it for what it's worth. People are more
familiar with MAILDIR and MBOX because they are files. You can read them
with VI and PICO and FGREP and all the stuff that we are familiar with.
MySQL is also easy but might require new tools and some learning. Once
you become familiar with it them everything is just as easy.
One could expoir and import to and from maildir and mbox, so that
doesn't go away.
With MySQL there are a lot of problems that go away. MySQL is a magic
port that does everything for you. It doesn't care about what filesystem
you're using, what OS you are running, what kinds of file locks or NFS
mounts, or if you're using Reiser for maildir speed or if you have
enough inodes. All that stuff goes away.
MBOX and MAILDIR have no indexing. You can add indexes externally but
there are no standards for that. With MySQL you can index anything and
everything. You can add fields to the message, any fiels, as many as you
want, and they too can be keys and indexes. With maildir and mbox you
can't really do that.
With MySQL you can access the data with any MySQL application. And the
access is consistent no matter what programming language you use, what
OS you use, anything. It's all SQL. So if you want a web interface you
just write a PHP app.
Spamassassin for example has migrated from GB files to MySQL for the AWL
and bayes and we all can see how this has improved performance and ease
of implementation. Before SQL having 5 servers sharing the same bayes is
difficult. With SQL it's trivial. The SQL does it all for you. They do
the magic so you don't have to.
The indexing is a real key feature. If I have a key based on the sending
host or index all the received lines, I could delete all messages that
had an IP in any received line almost instantly. I can do it thousands
of times faster than mbox or maildir because it's indexed. Indexing
gives you incredible power and the SQL engine does all that for you.
That SA and the IMAP and the MTA and the Web GUI - everything - all
taking to a standard database - all integrated - all comnpatible.
So - like I said - this is visionary stuff. Think SQL - think outside
the box.