From time to time, people who are looking for alternatives to their current email API vendor, usually Nylas, ask if EmailEngine could be a replacement. Both provide easier access to email accounts via an API. Is EmailEngine cheaper, maybe a more limited version of Nylas?
Though seemingly similar, I usually advise people to reconsider. The similarities are mostly superficial. Yes, both have an API, but the system behind it is entirely different. Using EmailEngine as a drop-in replacement will probably only cause frustration instead of whatever the initial goals were.
For starters, the most obvious one – Nylas is a managed service, while EmailEngine is software you download and run on your premises. The less obvious while even more important difference is how these services handle email messages.
Nylas supports a variety of email backends, while EmailEngine supports only the most common one – IMAP. If you expect to provide services to sales teams on old Exchange systems without IMAP support, this is a deal-breaker for EmailEngine.
Nylas makes copies of all the emails on synced accounts to their database. EmailEngine only keeps a local index without any message content. Nylas retrieves the requested info from their local database when you run an API call, while EmailEngine always has to run IMAP commands against the IMAP server. Such an approach makes Nylas faster and more reliable. As long as their database works, they can serve requests. EmailEngine, on the other hand, is much slower and less reliable as it always has to retrieve data from external email servers. If the email server is currently not reachable, then EmailEngine has no way to retrieve the requested data.
Also, EmailEngine is slower when processing emails than Nylas because it can only run a single command against the same account on the IMAP server. If you make five parallel API requests against the same synced email account, then EmailEngine does not process these requests in parallel but queues these and processes requests one by one. If one of these requests takes a long time to complete, all the other requests are also on hold.
So I would say that EmailEngine is more of a DIY solution. You are responsible that it is up and running. Or that the Redis database that powers EmailEngine's index is appropriately backed up. You also have to consider the limitations when running parallel requests etc.
So given all that, EmailEngine being slower and less reliable, is there any reason to consider it over Nylas?
If you do not have uptime guarantee expectations, for example, if your application mainly acts on the webhook notifications. Even though message processing with EmailEngine might be slower, you will get webhooks faster from EmailEngine than from Nylas, as there is no processing step in between. As soon as the email server lists a new email or an email is deleted or updated, EmailEngine will send a webhook without a delay.
EmailEngine is much easier to start with (download and run). It gives better control as you would know what kind of user data and where exactly does your service store. It's also way cheaper. You can run as many EmailEngine instances and sync as many email accounts as you want for the fixed yearly subscription price.
The catch, and also another difference with Nylas, is that you're mostly on your own. I'm a single-person operation, and there is no customer success team or anything to help set up the integrations. The upside is that all customer issues will land at the person who actually builds the thing, not on a support person in a three-tiered support organization.
Are there companies who have moved from Nylas to EmailEngine, or use both of these systems in parallel? As far as I know, yes, there are a few.
Do you want to hear more about EmailEngine? Join our Discord channel.