Joel,
I read Bhavin's post. We are not trying to simulate the STMP server. We need to listen to a mail server to be able to take further actions based on specific emails sitting in the inbox. Those "actions" would be the process to be virtualized.
In summary: after being notified of an email, we need to obtain the email itself, open an attachment using a third party api, update the attachment, attach the updated file to a new email and send it to a new mailbox.
Yes I can see a lot of customization and scripting involved.