3 ms·
Kinda disappointing there's no JMAP support. I understand why, though.
by gclawes 6y ago
Kinda disappointing there's no JMAP support. I understand why, though.
- faitswulff 6y agoThe relevant issue: https://github.com/foxcpp/maddy/issues/19 https://github.com/foxcpp/maddy/issues/19 > Status update: JMAP is a big complex protocol that is not used by any popular clients and has no server libraries available for Go. IMAP is a big complex but also widespread protocol that is well-known, supported by any email client and has server library available for Go. Some of IMAP disadvantages come from incomplete client implementations, not protocol flaws, as JMAP developers want to convince you. I do not expect wide JMAP adoption in next several years, therefore the decision was made to prioritize improving IMAP implementation. > If somebody insists on having JMAP, I recommend looking at Cyrus email server, perhaps write a Go library for its SASL delegation protocol so it could be used with maddy just as easy as Dovecot.
- josephg 6y agoI just replied on the linked issue. If anyone wants to get started making a jmap server, about a year ago I pulled out the cyrus jmap email parsing code into a standalone C/wasm library: https://www.npmjs.com/package/mime-to-jmap https://www.npmjs.com/package/mime-to-jmap Its a bit of a mess and it needs a write-up, but it should be a reasonable start to making more jmap servers. (This does not implement the jmap application protocol, but it does generate fantastic json from any email blob, incl attachments, snippets, html and text output. And thats crazy difficult to implement correctly.)
- NetOpWibby 6y agoAs soon as there’s an IMAP/JMAP module that’s useable I’m going work on my email client concept again. I got far enough, receiving and displaying mail but IMAP is super frustrating to deal with. Maddy looks great though, I may start playing around with it.
- andris9 6y agoI had similar issues where I wanted to remove IMAP complexity from client app, so I created a daemon proxy that sits between client and an IMAP server and “translates” REST API requests to IMAP commands: https://github.com/andris9/imapapi https://github.com/andris9/imapapi
- NetOpWibby 6y agoOh! I had your repo starred already!