Effortless email integration for your app or service. Simplify IMAP and SMTP complexities, and focus on what truly matters. Build better features, faster.
Self-hosted solution for developers and businesses.
Get EmailEngine for your system. Free 14-day trial included.
EmailEngine is a self-hosted email automation platform that offers easy access to email accounts through a user-friendly HTTP REST API for receiving and sending emails. The platform actively monitors these accounts and sends webhook notifications for any updates.
Here's how to get started:
$ emailengine --dbs.redis="redis://127.0.0.1:6379"
Skip the hassle of navigating complex email protocols. EmailEngine saves you valuable developer hours by simplifying IMAP and SMTP integrations.
Focus on your app's core features while we handle the intricate details of numerous RFC specs. EmailEngine: the powerful alternative to building your own email class library.
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.
Stay informed in real-time with EmailEngine's webhook support, sending you a notification every time there's an update on the user's email account.
Integrate your users' email accounts with your platform to track email correspondence activity between users and their contacts.
Create innovative features for your clients, such as customized newsletter platforms.
Develop a tailored webmail interface on top of your email hosting offerings.
Monitor and automate your support and info mailboxes.
Automate the warmup process between different email accounts to enhance email deliverability.
Supervise and automate special email accounts like postmaster or abuse mailboxes.
Leverage EmailEngine as an IMAP or SMTP proxy between your legacy applications and MS365 OAuth accounts.
Automate email sending and replying to prospects' messages.
EmailEngine utilizes the user's own email servers to send email, giving the appearance to the recipient that the email was sent directly from the user, rather than through a third-party service, resulting in near-perfect deliverability.
Easily integrate with Gmail and Outlook servers using EmailEngine's fluent OAuth2 support. You have the option to either manage token renewals yourself or let EmailEngine handle the process for you.
Streamline the authentication process for your users with EmailEngine's hosted authentication form. Once the email account is authorized, the user will be redirected back to your app.
While you can still register accounts through API calls, hosted authentication provides a more user-friendly and easier setup option during development.
Gain insight into EmailEngine's workings with the multiple logging options available, including the ability to log full IMAP transactions for debugging purposes.
Easily create custom webhook routes using EmailEngine's low-code integration capabilities. Define filter functions and output mappers to transform events into chat messages in Slack or Discord, or send the data to Zapier for additional processing.
Maximize API performance and gain access to advanced data mining options with EmailEngine's local indexing feature, which mirrors all email accounts to ElasticSearch. The mirrored data can also serve as the backend for your own applications, bypassing EmailEngine entirely.
EmailEngine exposes a Prometheus metrics collection endpoint for easier monitoring.
EmailEngine is ideal for anyone looking to integrate their system with existing email accounts. For instance, a help desk service that operates through the support@domain.tld account and converts incoming emails into support tickets.
EmailEngine maintains an open IMAP connection to each registered email account and continuously listens for any changes. When you make a request through the API, EmailEngine converts it into the corresponding IMAP command to execute the desired action.
You can start a free 14-day trial directly from the dashboard without the need for a license key. Once the trial license expires, EmailEngine will stop processing IMAP accounts until a valid commercial license is obtained.
Typically, no. You would pay for a yearly subscription to Postal Systems, not for multiple license keys for EmailEngine software. If your subscription is active, you can generate as many license keys as needed at no extra cost.
EmailEngine requires Redis as its caching database. As long as you have a reasonably recent version of Redis installed, you should be good to go. For optimal performance, it's recommended to keep the latency between Redis and EmailEngine as low as possible.
EmailEngine utilizes IMAP to access email accounts and SMTP to send emails. Other protocols such as POP3, ActiveSync, or the Exchange Web Services (EWS) SOAP API are not currently supported, but they may be added in the future.
As a self-hosted solution, EmailEngine does not send or store any data outside of your network. It only retains minimal metadata necessary for syncing and caching, but not the actual contents of the emails. This ensures that all data remains securely within your network.
Currently, this is not supported. Horizontal scaling is on the development roadmap, but there is no estimated time of arrival for this feature at this time.
IMAP is a single-threaded protocol, meaning that only one command can be executed at a time per account, and you must wait for it to finish before issuing another command. If multiple API requests are made against a single account simultaneously, EmailEngine will queue these requests and process them one at a time. If a queued command cannot be processed within 10 seconds, EmailEngine will abort it with a 504 response.
To resolve this, you have two options: either avoid sending multiple requests at the same time, or increase the 10-second limit. The "Max command duration" option can be found in the configuration options, as documented here.
For a detailed comparison, you can refer to the comparison article here. In brief, while both may seem alike, they are in fact, significantly different.
If you have a question that hasn't been answered, you can reach out for help in the EmailEngine's Discord channel.