Skip to content
Neil Kolban edited this page Mar 7, 2016 · 18 revisions

The Email node provides both input and output of emails. The node is available on NPM at:

As of 2016-03-06, the node has dependencies on:


Reading emails

The current implementation uses the IMAP protocol to interact with a back-end IMAP provider. The very last email seen is received and the message added to an emitted event. If the email body is plain text, it is added to msg.payload. If the email body is HTML, it is added to msg.html. The subject line of the email is propagated in msg.topic.


Future enhancements

There are a number of potential enhancements available to the email node that can be addressed. These include:

  • Support of IMAP that is not over SSL/TLS.
  • Support for self-certified SSL certificates.
  • Support for attachment processing. Attachments should appear as an array in msg.attachments.
  • Support for POP3 as well as IMAP.
  • Support for more than just last message processing.

Design Notes

Parsing incoming emails

Consider an email message that is sitting on an email server. It appears that an email is transmitted over SMTP and received by the email server and stored. It also appears that the email is saved in a certain format. That email can then be retrieved by a client application using IMAP and/or POP3.

Question: Is the email message retrieved via IMAP and POP3 the same format/content? If I retrieve the "blob-o-data" that represents my email, do I get the same think with both IMAP and POP3 retrievers?


Related forum posts and issues:


Related NPM packages


Technical tasks

  • How do we retrieve an email using POP3?

Clone this wiki locally