4 ms·
You still need an index of your mail for searches and extra metadata for tags, threading, unread status etc. So you need a protocol for requesting this search a
by jesstaa 11y ago
You still need an index of your mail for searches and extra metadata for tags, threading, unread status etc. So you need a protocol for requesting this search and a format what how the client can use the result of that search to access the matching emails.
You need to be able to push email status changes out to connected devices, I don't want an alert for an email on phone if I've already read it on my laptop.
You need decisions around how attachments are stored. Most of the time you'll want to store the attachments separately from the text content of the email so clients don't have to download the attachments to access the text, so you'll need to decide on how this location would be communicated to a client.
Plain files are rather bad for multi-user access, if you have multiple users/devices all accessing the same email they're going to need some protocol for synchronization so you don't get data corruption or lost changes.
- viperscape 11y agoIt would be interesting to think about email and sync using git on the backend.
- u801e 11y agoPerhaps something like having each blob refer to an email message. Each tree would refer to a folder. Each commit would be made whenever an email is added, deleted, or moved to another folder (though it would not have a reference to a parent). For indexing, you could refer to each blob with a tag that had a name that corresponds to a UID. If an email is deleted, then the corresponding tag would be deleted as well. Git's garbage collection would eventually remove references to orphaned objects and the transfer protocols would only push (or fetch) objects the other repository doesn't have. I don't know how it would scale in terms of performance though.
- mschuster91 11y ago> You need to be able to push email status changes out to connected devices, I don't want an alert for an email on phone if I've already read it on my laptop. This. This sucks so much. Even gmail can't automatically dismiss a notification when I read a mail on the desktop!
- kpozin 11y agoWhat mobile client are you using? I've found that Gmail on Android is pretty good about dismissing notifications for messages that have been marked as read elsewhere.