Introducing Decimail Server

Decimail Server...

What's different about Decimail Server?

There are plenty of mail servers out there. Why another one? Decimail puts more inteligence into the mail server. Some IMAP clients provide features like virtual folders, spam filtering and auto-filing, but being client-side they're specific to one particular client. Decimail implements this sort of intelligence, and more, in the server. That way it's available in every client application.

By using a sophisticated relational database to store the messages, Decimail Server has a good platform on which to implement this intelligence. Essentially, messages are stored in a single large table. SQL queries then define numerous views of subsets of this table, which are presented as mailboxes to IMAP clients. So you can have one set of views that partition your messages chronologically, another that partitions them by correspondent, another for mailing lists, and so on. And unlike conventional IMAP mailboxes, these views can overlap.

Here are a few scenarios:

Being based on an SQL database doesn't have to mean that Decimail Server has an unfriendly user-interface. The new "Actions Framework" makes it possible to run arbitary SQL queries in response to IMAP commands to create new folders and copy messages.

Decimail Server can also processes outgoing email, which I use for spam-avoidance. If you have multiple email identities, Decimail can select one based on the recipient or other characteristic of your outgoing message.

Status

Decimail Server isn't finished yet, but I think I've done the hard part. I've put a lot of effort into building the IMAP server code, and in the process discovered that IMAP is a quite ghastly protocol. One day I will post a rant about it. But it is done, and now the real fun, which is experimenting with the actual intelligence, can begin.

Decimail Server has never lost any email. The first thing it does when it receives a message is store a backup in a text file, so even if something nasty happens you will still have that.

I can't yet recommend Decimail Server for "production" environments. I'm using it as my sole email server, but you'd have to be brave to follow my example. It is more suitable for an experimental environment. If you like the basic idea of what Decimail is trying to do, and have the skills and the time to help, you are very welcome to download the code and try it out. Others should probably wait for a little while.

But even if you're not going to try Decimail Server right now, I encourage you to think about how you would like it to develop. Maybe you have some ideas for smart things that could be done to incoming or outgoing email. Perhaps something that you're doing manually that could be automated. I would really appreciate input from some potential users. Let me know, and I'll see if Decimail's framework can accommodate your idea. Please get in touch via the forum.

The Author

Decimail is written by Phil Endecott. I live in Cambridge, England, and have a Ph.D. in computer science from the University of Manchester. I've worked at various high-tech places including the now-sadly-defunct AT&T Labs, writing software and designing hardware. I'm also responsible for Anyterm and QWAZERTY. You can find out more about me - mostly pictures of me on various mountains - on my personal web page, http://chezphil.org/.