Open agucova opened 1 year ago
I looked at the jmap.io website again, and it looks good. I would like to have it in mox as well. But me working on it doesn't feel like the biggest move at the moment. If you or anyone else wants to work on it, I can help out (explain mox internals, review code, make some mox internal changes) where time allows.
Like you said, JMAP is compatible with the IMAP data model, so the fit should be relatively good. I did notice a few things that mox doesn't do yet and would have to be added: keeping track of message threads, keeping track of history for fast sync (mox also doesn't do IMAP CONDSTORE/QRESYNC yet).
I would like to add a basic webmail in the future too, and it seems like a webmail should be speaking JMAP (I'm happy to see it uses SSE). So JMAP should come first.
@mjl- I am investigating if this would be a nice project for me to do. It does appeal to me but I also I know myself that when I notice that I have too many things requiring my attention, I tend to drop things and that could also be this thing.
As part of the investigation I started with the implementation just to see how difficult or time consuming it is. If you at some point in time want to know how far I am with the implementation, do not hesitate to ask!
@ArnoSen nice, good to hear. feel free to email me at mechiel@ueber.net with questions. we can open up more communication lines too. i can probably provide some time-saving answers to some questions.
@mjl- I start with the core jmap functions first and then work my way down to implementing the mail capability. When I arrive there, I will definitely contact you. For now I do some cycles to define the interfaces that need to be implemented in the end.
Small update: I am busy implementing the core functionality of JMAP . I will be busy with that for some time (weeks maybe a few months). When that is basically done, I will do the email part. This is where the real integration happens with the existing code base. So far so good and I am still enjoying the work.
That's great to hear! Don't hesitate to ask questions about mox internals when you're ready for it. And don't be afraid to just hack around locally to get something going quickly and dirty. At least that often helps me feel I'm making progress, and it can highlight integration pain points early.
A small update: I making progress with implementing the core JMAP functionality and creating unittests. Although there is still a lot to do, I am slowly moving towards starting to look at what needs to be done to implement JMAP Mail. When I start with that I will definitely get in touch with you @mjl- .
nice, great to hear, thanks for the update!
@mjl- do you have any recommendation for a VPS like provider that is okay with running your own mail server?
i have had vps'es at tilaa.com. they've been solid with excellent customer support. it's a dutch company, with focus on the EU, so may not make as much sense from elsewhere in the world.
in general, i think technical-focused, smaller companies that aren't price fighters could be a good bet. you can probably find localized hosting provider comparison websites that can point in the right direction. the large cheap vps providers often don't have a great reputation, probably because they attract bad actors and they don't assign enough resources to fight them.
I know this is a huge feature request, but I want to propose adding support for the JMAP protocol as specified by proposed standards RFC 8620 and RFC 8621. While the whole spec for JMAP (which includes contacts and calendars) is still in development, the core spec and the mail extension have been completed. For reference, this is the implementation guide.
JMAP has significant advantages over IMAP, especially regarding mobile network performance. It's modern, well documented and already has several server and client implementations. Server support has been (as expected) quite slow, but servers like Cypht have had experimental support for some time now.
The protocol was specifically meant to be compatible with the IMAP data model, but I don't enough about Mox to know how big of a change this would involve.