Receiving email in Node.js

You are looking for an e-mail client library. Currently, there are 2 options (as mentioned here):

  • node-imap (IMAP)
  • n3 (POP3, experimental)

I never used them before, but usage is pretty straight forward (according to the docs). node-imap seems to be the more stable library and it has been tested against gmail. If IMAP is an option in your environment, i'd stick with node-imap.


The Mailin module allows you to receive emails, parse them and post them to a webhook of your choice. It is based on simplesmtp. It also checks the dkim and spf, computes a spamassassin score and determines the message language.

Even if it does not fit your needs exactly, you can have a look at the code, it might help you. (Disclaimer: I am the maintainer of Mailin)


If you want the actual server in node.js check out

  • https://github.com/ralphholzmann/node-smtp/blob/master/smtp.js
  • https://github.com/riegel/node.js-SMTP-server
  • https://github.com/aredridel/node-smtp/