Show HN: EmailEngine, open source REST interface to read and send email messages
github.com
github.com
Out of curiosity, are there any other comparable projects you know of? I wondering what I had to have searched for in the past hah
link: jmap.io
EmailEngine on the other hand is not an email server but more like a reverse proxy, it takes REST commands from the client and sends IMAP/SMTP commands to the account's email server. So for the email server it looks like that the client is speaking IMAP/SMTP and for the client it seems that the server is speaking REST/JSON.
Additionally EmailEngine performs tasks that are hard to do when dealing with a regular IMAP server. For example it tracks changes on the account, so if something is added or deleted, then EmailEngine sends a webhook notification for it.
If you are interacting with an IMAP server directly then usually you see that a folder has fewer emails stored in it than during the previous check but there is no indication which messages were actually deleted.
There are client libraries like (https://github.com/linagora/jmap-client-ts) which allow you to perform all mailbox actions. I'm trying to understand what I can do better as a client - does emailengine enable something that JMAP API will not? You called out webhook as one.
Using IMAP seems easy at first, and it is, if all you need to do is to list current contents of a mailbox folder. As soon as you want to start tracking changes, everything gets really messy. If it would be possible to use JMAP instead, it wouldn't be so hard but, as I stated, email servers do not actually support JMAP.