I've used Net::Server::Mail, but only as part of test scripts for sending email. Have you considered letting another system handle receiving the email? Then you could just write your code using a POP or IMAP client library to fetch new mail and process it. Easier and more reliable, particularly if it means you don't have to run a mail server at all, for example by setting up the target address at GMail. I did that recently for an automated responder app and it worked great.
in reply to Simple (but robust) email server (receiver)