I installed qpsmtpd (journal entry http://use.perl.org/user/kaare/journal/37631) a while ago. It is fun, you can mess with separate bits and pieces the usual Perl way, and qpsmtpd has a very low ressource consumption on the system.
So, just a thought. Why not implement a full-feature mail system in Perl? At least it would be nice to know if all the different mail server elements exist in Perl.
A quick look turns up rather mixed. Perl email modules mostly look dead, but so did Qpsmtpd until I started looking.
SMTP Server
Short answer: Qpsmtpd
Local delivery
You can manage your sieve scripts with Net::Sieve. Perhaps there could be a Qpsmtpd plugin for delivery using Sieve scripts.
MTA
I only found Tipjar::MTA. Doesn't support ESMTP according to the POD. Doesn't seem to be actively developed. But then again, I saw a patch to Qpsmtpd supporting tipjar recently.
IMAP Server
Net::IMAP::Server
POP3 Server
POP3 is not a necessity in my world, but I know people who still use it. I haven't found any (recently active) Perl POP3 Server yet.
Mail storage
Email::Store (and PostgreSQL)
Even if it seems to be Abandonware like the rest of Perl Email Project (http://emailproject.perl.org/) (it hasn't been touched for the last two years), it has at leas the notion of headers, body, attachment et al. There's also a database backend, which is a nice touch. With a proper database you would avoid the problem that the server could choke after only a few thousand emails in a folder. Also you could use all of the advanced features of your database. Full text search, for example, if you use Postgres.
Text search
PostgreSQL fulltext search
Other options: Use a text indexer, e.g. Xapian.
Mailing lists
and more. I'm sure there are more modules you could fit into a mail server. I didn't find a ready-to-use mailing list implementation, but it wouldn't be too hard to make one from scratch or from already existing modules.
Why would you want an all-Perl Mail Server? Well, you don't necessarily. But it would be easy to plug in some module to process an email for whatever reason it could support your personal or professional needs. Perhaps you would like specialized statistics on your email storage or email usage? Mail archiving? Easy program / email interaction?
This was just a thought experiment. I do wonder what happened to the Perl Email Project, though.
Here is a big sample of code from my cpan dir:
Email-Abstract-2.134 16 Nov 2007
Email-Address-1.889 19 Dec 2007
Email-ARF-0.003 23 Mar 2007
Email-Date-1.103 30 Nov 2007
Email-Date-Format-1.002 03 Dec 2007
Email-Delete-2.001 14 Sep 2008
Email-Filter-1.032 14 Sep 2008
Email-Folder-0.854 23 Dec 2007
Email-Folder-IMAP-1.102 01 Apr 2007
Email-Folder-IMAPS-1.102 01 Apr 2007
Email-Folder-POP3-1.013 07 Nov 2007
Email-FolderType-0.813 22 Mar 2007
Email-FolderType-Net-1.041 22 Mar 2007
Email-LocalDelivery-0.217 21 Jun 2007
Email-MessageID-1.400 02 Oct 2008
Email-MIME-1.861_01 08 Sep 2008
Email-MIME-Attachment-Stripper-1.315 08 Jul 2008
Email-MIME-ContentType-1.014 22 Mar 2007
Email-MIME-Creator-1.454 14 Jul 2007
Email-MIME-Encodings-1.311 22 Mar 2007
Email-MIME-Modifier-1.442 16 Jul 2007
Email-Reply-1.202 20 Jul 2007
Email-Send-2.192 02 Nov 2007
Email-Send-IO-2.200 18 Sep 2007
Email-Simple-2.004 25 Jun 2008
Email-Simple-Creator-1.424 30 Nov 2007
Email-Simple-FromHandle-0.052 25 Jun 2008
Email-Simple-Headers-1.02 11 Jul 2006
Email-Store-0.255 22 Mar 2007
Email-Store-HTML-0.301 01 Aug 2006
Most of that is within the last year. Quite a lot of it is release since Perl 5.10.0. Does that mean that Perl 5 is dead too?
If you want to know what happened, why not ask instead of posting matter-of-factly that it's dead? It's very irritating to be told that one work over the last two years might as well have not happened.
Re:uh..?
rjbs on 2008-11-01T00:47:25
s/most/much/
Clearly I should not post when pissed off.
Re:uh..?
Aristotle on 2008-11-01T03:41:34
For the record, as soon as I read that, I thought “quick, someone tell RJBS!” But it didn’t seem productive to act upon it, so I didn’t respond nor did I ping you.
Re:uh..?
kaare on 2008-11-01T23:02:27
Thanks for your feedback.
I'm referring to a wiki that hasn't been touched for a long time (OK 1½ years, not two years. Still forever in Internet - and especially Perl time).
But I'm happy to see that there's a lot of later activity elsewhere.