4 ms·
If you're also working on IMAP / mail clients and want to discuss the technicalities, feel free to drop me a line at mail at hajo (dot) me
by fxtentacle 14y ago
If you're also working on IMAP / mail clients and want to discuss the technicalities, feel free to drop me a line at
mail at hajo (dot) me
- tonyarkles 14y agoI've been knee deep in imap for the last month or two. As a curiosity, which imap library are you using? I've had to contribute a few patches to ruby's net/imap already to get it to successfully parse all the mail I've accumulated over the last 10 years :)
- fxtentacle 14y agoI started with patching the IMAP parser from Google Go, then i re-wrote parts of it to make my email collection work. I still cannot successfully MIME-parse all of my emails, but the ones that fail are spam (and also don't work in Outlook 2011) so i'd say it's the email's fault. I can recommend Google Go for tasks such as IMAP because of its concurrency model. You can run a go-routine for each IMAP connection and their idea of agents communicating through channels worked really well for my IMAP client.
- tonyarkles 14y agoThat's really fascinating! I might have to look more into this. Last time I looked at Go, it was stuck without multi-CPU support, which was a show stopper for the project I was working on. Probably worth revisiting.
- julian37 14y agoHi Hajo, this looks great! I'm an Emacs addict though, and the main reason I'm not using Gnus anymore is that I haven't found a IMAP syncing solution that "just works" (last time I've checked). Since it sounds like you've solved this problem, is there any chance the syncing module can be run standalone? If so I'll most definitely chip in on your Kickstarter.
- BCM43 14y agoI'm currently using offlineimap and notmuch. Have you tried that?
- julian37 14y agoI think that used to be my setup, except with mairix. It's a while ago and I don't recall now why I was unhappy with it. But seeing that offlineimap is still actively maintained and has seen plenty of updates in the meantime, maybe I should try again. Thanks for the heads up!
- p4bl0 14y agoEmacs user here too. I'm using offlineimap which works great, and then I use mu and mu4e [1] to read my email in Emacs. [1] http://www.djcbsoftware.nl/code/mu/ http://www.djcbsoftware.nl/code/mu/
- fxtentacle 14y agoSorry to disappoint you, but i did not find a solution to make IMAP sync correctly. I circumvent the problem by running a gateway that will be continuously connected to the IMAP server. The clients that connect to the gateway, which can do proper syncing :) So syncing between my mail client and mail clients from other people will be as frickle as ever. What this project aims to do right is offline mode and syncing between multiple instances of my mail client.
- ante_annum 14y agoI've also been writing an imap client for the past few months with exactly the same goal as this, in go. This looks great. I'd like to keep my front-end as absolutely light as possible, so I'm foregoing gwt/bootstrap and going with mostly just handwritten jquery.
- fxtentacle 14y agoInteresting coincidence :) This project is also written in Go. I have IMAP go-routines which will send changes on the IMAP server to a gateway multiplexer which stores those changes in a synchronize-able DB. The Webgui will listen for changes from the DB and present them to the user. I chose to go this route such that i can run the gateway and the webgui on different computers both with a local copy of the DB and have them synchronize when network connectivity is present. I've opted for GWT because i like static typing. From a performance perspective, i've never really found much difference between GWT and hand-written JS.
- ante_annum 14y agoThat's pretty funny. I essentially rewrote martine's imap client, and then I'm currently working on integrating it into an ajax and SSE-heavy webapp. I personally don't like html emails, so I've gone with a plain text-editor (read textarea), but sanitizing incoming html emails is the hardest thing I've run into.