I installed qpsmtpd (journal entry http://use.perl.org/~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.
uh..? (Score:1)
Here is a big sample of code from my cpan dir:
rjbs
Re: (Score:1)
s/most/much/
Clearly I should not post when pissed off.
rjbs
Re: (Score:1)
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: (Score:1)
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.