EmailEngine Email API

Self-hosted application to access your users' IMAP and SMTP accounts via a REST API. Send and receive emails on behalf of your users with ease.

Want to hear about product updates and news?

Quickstart

This example assumes that Redis is installed locally and does not require any authentication. See docs for other options.

  1. Set up Postal System's NPM registry (requires a subscription that you can sign up for here)
$ npm set @postalsys:registry https://registry.postalsys.com
$ npm adduser --registry=https://registry.postalsys.com --scope=@postalsys
  1. Install and run EmailEngine
$ npm install -g @postalsys/emailengine-app
$ emailengine
  1. Open http://127.0.0.1:3000 in your browser

Later, when you want to upgrade, just run the installation command from step 2. again and restart the emailengine service.

Easy to use REST API

The REST API with JSON payloads you expect it to be. No need to know IMAP internals, weird encodings or juggle with different IMAP extensions.

Unicode strings
Binary attachments
Paged listings

Webhooks support

EmailEngine sends you a webhook any time something happens on the user's email account.

Incoming emails
Deleted emails
Message flag changes

Almost perfect deliverability

EmailEngine sends emails through the user's own email servers, so for the recipient it seems that the email came from the user directly and not via some third party sending service.

Uploads to Sent Mail
Adds reference headers
Flags answered emails
Bounced email detection

FAQ

What are the requirements?

EmailEngine runs on Node.js and uses Redis as the caching database. That's about it, if you have any recent version of these two installed then you are good to go.

Is EmailEngine open source?

Yes, EmailEngine source code can be found from Github and it's licensed under the AGPL-license. Postal Systems subscribers get the MIT-licensed version.

Is EmailEngine GDPR compliant?

EmailEngine does not send any data outside your network (unless you want to send an email) and it only stores minimal metadata required for syncing but no actual contents of the emails.

Which kind of protocols are supported?

EmailEngine uses IMAP to access mailboxes and SMTP to send out emails. Alternative protocols like POP3 or ActiveSync are currently not supported.

Ready to get started?