I followed David’s tutorial on YouTube about mu4e, but I couldn’t get it to work, maybe because of a straight/apt install mismatch or confusion.
I thought I would share my experiences.
To make a long story short, I installed notmuch on my LMDE6 system instead, following several YT tutorials, by Prot and others. Notmuch is a completely different approach to mail than mu4e, mutt and other similar mail clients. It’s like having Gmail inside Emacs, only better, faster and more flexible! There is no concept of mailboxes, everything is a search. You can tag your emails and define and store searches so they work like “mailboxes”, e.g. all mails from a particular person, or all mails with a specific tag.
And it is lightning fast, based on the excellent Xapian database, it returns the search in matters of milliseconds, it’s actually Emacs that creates delay if the search returns many results.
I love being able to do searches from the terminal, which I actually need to do a.t.m. to remove mails completely. I can tag junk mails del in Emacs, but then to actually get rid of them, I do this:
$ notmuch search --files=output tag:del | xargs rm
Those files are subsequently removed from the upstream IMAP server the next time mbsync is run.
I managed to assemble all my mails from various services (gmail, outlook, icloud) plus maildirs I have backup’ed from long gone computers at work. I now have 70.000 emails in one place, and using various searches, I was able to clear out and delete 2000 mails of no interest anymore, in a couple of hours. But I could take a trip down memory lane reading emails from 30 years ago. Using a bit of trickery with the notmuch config file when indexing mail newly copied to ~/Mail (notmuch new command) I could tag my work mails and other categories so I can now find them and search them independently.
As a comment to David’s video, be aware that with Gmail, you only need to syncronize two “folders”: “All Mail” and “Sent Mail”. Notmuch plus your tags and searches will do the same that Gmail does behind the scenes, if that’s what you want. Gmail’s understanding of “Inbox” is merely a label and it doesn’t play nice with IMAP, because syncronizing it will give you duplicates of the files in “All Mail”. I also found that it’s very convenient to avoid the annoying ‘[Gmail]’ directories when using mbsync, it can place the mail in local folders with sensible names, “sent” and “all” in the following configuration:
Channel gmail-all-mail
Far :gmail-remote:"[Gmail]/All Mail"
Near :gmail-local:all
Channel gmail-sent-mail
Far gmail-remote:"[Gmail]/Sent Mail"
Near :gmail-local:sent
I hope this will inspire folks to try this amazing system, and perhaps David to make a video about it.