5 ms·
Last I looked there were two main local mail clients for the commandline with good emacs,vim bindings: notmuch and mu. Both store mail locally and both use xapi
by dima55 4y ago
Last I looked there were two main local mail clients for the commandline with good emacs,vim bindings: notmuch and mu. Both store mail locally and both use xapian for efficient local searching.
When I was choosing between the two, there was one big difference between the two: notmuch was built around an idea that you mark your messages with tags for organization, while mu assumed you organize stuff into IMAP folders. The notmuch tag database is not a standard IMAP concept, so syncing your IMAP directories wouldn't sync your tags, and moving from one machine to another required extra work. mu by contrast just does the normal IMAP thing, so you sync the IMAP on one machine, and all your other machines can read the IMAP data, and that's it.
I've been using mu for years, and it's fantastic. From personal experience, the tags/folders distinction is mostly immaterial: the vast majority of searches are for text or sender or subject, or something.
If I'm misrepresenting notmuch here, somebody please correct me!
- ccakes 4y agoaerc is another alternative CLI mail client https://aerc-mail.org/ https://aerc-mail.org/
- encryptluks2 4y agoThis is exactly the same concept as Thunderbird and Outlook smart folders. Gmail addresses this using labels which adds metadata to the IMAP messages. IMAP folders are not reliable to tag messages as having multiple tags essentially duplicates the message on the IMAP server.
- dima55 4y agoRight. How do Thuderbird/Outlook/Gmail store the tag, though? It can't be represented in any normal IMAP way, right?
- nextos 4y agoI prefer notmuch because it is extremely simple. Everything is a tag. There are no folders. Furthermore, notmuch never ever touches your mail storage. It just operates on tags. It is up to you how to turn tag changes into actions. I find this incredibly elegant and flexible. I do not tag things manually. I tag incoming messages automatically using searches. Since search is so powerful and quick, I do not really feel I need tags. If you do, mu or mutt/neomutt might be better suited.
- throwawayiionqz 4y agoWhy tag anything at all? If the query is fast you may run the query again. This avoids migrating tags if the query gets modified/improved etc.
- em-bee 4y agoi use tags for annotations and actions: this email i need to reply to. that one links to a story i want to read later. etc. it's not possible to search for that without tags, because those states change and don't depend on the actual emails
- nextos 4y agoAFAIK, you need tags at least for read/unread. I don't really use tags, but have a few searches to archive email from mailing lists without seeing it in my inbox. For other usecases, I do as you suggested.
- dima55 4y agoNow I'm confused. notmuch does tags while mu does not. If you do NOT need tags, then you want mu. That's the one that doesn't have tags. mu using standard IMAP folders means it can interoperate with other mail tools. That's the biggest consideration, I think
- rjzzleep 4y agoneomutt's main selling point was that it has first class integration with notmuch and that because that it has a unified inbox like the desktop clients. One thing I could never figure out with the folderless approach like neomutt is how to make per account compose and responses. In mutt I would set the account based on the folder I'm in and depending on what I'm responding to, but I don't know how to do that in neomutt or rather how to do it when using notmuch in neomutt. I do use mu4e, which seems to be a bit easier to configure for multiple accounts.
- apetresc 4y agoYou do it with folder-hooks. When you switch to a query that returns mail from a different account, you set a folder-hook that switches your From: address.
- frutiger 4y ago> The notmuch tag database is not a standard IMAP concept This is not quite true. IMAP has a notion of “keywords”, which are arbitrary strings, that you can associate with any message. This is described in the IMAP RFC [0]. Unfortunately, very few email web applications expose this feature in their UIs so it remains obscure. FWIW Google Mail does store unlimited keywords on the server. So does Fastmail but last time checked (years ago) it only supported a maximum of 128 per IMAP mailbox. 0: https://www.rfc-editor.org/rfc/rfc3501#section-2.3.2 https://www.rfc-editor.org/rfc/rfc3501#section-2.3.2
- toastal 4y agoHimalaya offers a Vim plugin for its mail application.
- ssivark 4y agoI want to give a shout-out to “lieer” (formerly “gmailieer”) which is a nifty tool for fetching to maildir and two-way tag synchronization between gmail and notmuch: http://lieer.gaute.vetsj.com/ http://lieer.gaute.vetsj.com/
- argulane 4y agoThre is also a similar tool now for JMAP and Fastmail https://github.com/elizagamedev/mujmap https://github.com/elizagamedev/mujmap
- TeMPOraL 4y agoGotta love the naming choice: of the two mentioned well-known CLI clients with good Emacs and Vim integration, notmuch and mu, guess which one is mujmap made for? That's right, it's for notmuch.
- kkfx 4y agoMy personal setup involve: - a homeserver who grab emails from upstream and allow ssh access - muchsync (who run over ssh) from my desktop(s)/laptop to the server Doing so allow full sync, no need to sync mails in a maildir with other means, all you need is SSH. Sure it's not "P2P", there is still a central point of potential failure but the homeserver run many things, not just my mail so it's something I care more than the rest and it's anyway under my full control... mu on it's side offer a nice extras (separate small binary who wrap external WebKit) to render html emails as a modern WebVM (the monsters commonly known as "browsers" for legacy reasons), while in most client (i.e. notmuch-emacs by default you just get text or shr-rendered html). Outside Emacs I think there are one or two TUI (curses) client able to run or notmuch or mu, and a notmuch GUI (Astroid) who is not much comfy IMVHO. Notmuch also have a small external webserver with a built-in webUI but seems to be abandoned. Unfortunately ALL use emails, almost nobody care to archive and use them on personal iron treating mails like a proprietary third party platform bound to an webmail... A day most will regret that, but still most would not learn anyway...
- rawland 4y agoUp to a certain degree one can interpret the folders as tags. I think fastmail does it that way, iirc. Edit: Checked it: Yes, they treat folders as labels/tags, i.e., they simply copy the mail into all folders/labels/tags. See: https://www.fastmail.help/hc/en-us/articles/1500000278282 https://www.fastmail.help/hc/en-us/articles/1500000278282
- kqr 4y agoThis is roughly correct. There are utilities that move email between IMAP folders based on their notmuch tags, but obviously the two are different concepts so there's not a 1:1 mapping. The way I, and some others I know, deal with this is to simply think of their notmuch database as separate from, but complementary to, the IMAP data. The database is stored centrally. (I personally do this by replacing the notmuch command on my clients with a shell script that runs notmuch over ssh. Works fairly transparently.)
- e12e 4y agoBut mu would also need for the xapian index to be synched/re-created out-of-band?