💾 Archived View for auragem.letz.dev › mailinglist › misfin › msg › 25 captured on 2023-11-04 at 11:28:04. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Sender: clseibold@auragem.letz.dev (Christian Lee Seibold)
Received on 2023-10-05 09:26:03
Misfin handles the transfering of messages, but I feel we might need a protocol that handles managing stored messages on a server. I am starting this thread to consider a new protocol called GMAP that will act similarly to POP3/POP4 for simplicity. I feel that IMAP is well-covered by servers implementing their own Gemini Mail Interface, so we can design something for mail reading clients that uses a similar approach to POP3, the download-and-delete approach where a client downloads a user's mailbox and deletes the messages from the server. I'm still working out the details of this, however.
The other consideration with GMAP is whether and how a user accesses their mailbox from different devices. Does each device need to store all mails (in which case an IMAP system might be better) or can one device store mails that other devices don't have (in which case POP3's download-and-delete approach could work). We definitely want to handle all of this over Gemini because I think Gemini is a great system to use. So this protocol would really just be a layer over the Gemini protocol (kinda like how REST is a layer over HTTP... but we don't want GMAP to be as complicated as REST!).
The two things that I definitely have already decided are authentication, where the mail client should use the user's mailbox cert as the client cert for gemini requests, and message ids need to be unique by default (in POP3, these are called UIDL, unique-id listing). Other than that, all suggestions are welcome!
Things to consider: whether a server folder hierarchy should be supported, whether we want a fetch-and-delete approach or be more like IMAP's server state as the main state users interact with approach. Do we need the ability to create server folders from mail clients? etc.
- Christian