md is a foundation for handling mail directly with maildirs. It allows you to circumvent IMAP servers and clients and deal directly with the underlying storage.
md is designed to be a little like MH. A command line tool (which can also be a shell) provides stateless access to your mail.
Folders are fully supported.
$ export MAILDIR=~/Maildir $ md ls INBOX#1278373500.V801Ie8c29aM925471 2010-07-06 01:12:43 <firstname.lastname@example.org>  [GitHub] someone commented on a commit INBOX#1278377415.V801Ie8c29bM873637 2010-07-06 02:18:04 <email@example.com>  [GitHub] somebody commented on a commit INBOX#1278408713.V801Ie8c328M715195 2010-07-06 10:59:47 <firstname.lastname@example.org>  [GitHub] someoneelse commented on a commit $ md text INBOX#1278408713.V801Ie8c328M715195 return-path: <email@example.com> received: from github.com (fe2.rs.github.com [172.17.1.5]) by smtp1.rs.github.com (Postfix) with ESMTPS id 71DF442096 Cool, ok. I see it the same way. If you find a working solution it is fine and one learns something by doing it. I didn't want you to change your solution, you see mine is simple enough to do it in five minutes. Well, have fun!
md is nowhere near complete yet, and not at all usable for most people as any kind of mail tool. If you are interested in the approach however, here it is, ready for you to hack on.
md requires my simple filesystem abstraction library. If you're hacking on md you may want to use veh for building the dependancies into a virtualenv. md provides the veh config file for making it work, just do:
to make sure you have the latest dependancies.
md provides a method for pulling mail from a remote host. Unfortunately, right now, it only works over ssh so you must have an account on the remote host where your mail arrives.
Of course, you could also use pop3 or some such.
Better mail pulling: I would like to be able to pull mail from remote servers over a variety of methods. Mostly the commands are there and just need to be integrated with md. For example, a POP3 or IMAP4 pull would be relatively simple.
Built in filtering: I would like to add a find command to md analagous to UNIX find. Similar searching and filtering options may be added to ls.