For assorted reasons, I've been contemplating putting together a sort of proxy for email. It would use Mail::POP3Client to retrieve stuff from the real server, possibly filter it, possibly annotate it with a header, and store it (probably one file for each message in a directory for each user account) along with some metadata (e.g., when it was pulled down from the server, which clients have retrieved it, and so forth) and then allow real mail clients to retrieve the messages. The messages would be permanently stored but would not be given to the same client app twice. (Thus, I could get my mail on more than one PC, test out beta mail clients, and so forth.) I would be writing it in a modular and hopefully extensible fashion so that it could be reused for things like spam filtering. As an added bonus, it could retrieve from the server on a cron job and so keep the ISP account from filling up if you take to long getting around to getting your mail (say, if you go away on vacation).
The part I need help with is serving out the mail. I tried to search CPAN for a mail server module, but I didn't find one. Maybe I used the wrong search words? I found an SMTP server module, but that won't help; I need POP3 or IMAP -- ideally both. My code can handle the logic of determining what messages are available and retrieving them from storage and so on, but I was hoping to find a module to handle the actual protocol(s). There's plenty of code on CPAN for the client side of these protocols, but I'm not finding POP3 or IMAP servers. There's Net::Server, of course, but do I really have to bite the bullet and implement the protocol RFCs?
$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/
In reply to Modules for _serving_ email by jonadab
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |