Tangentially related: I really like the approach of mu [1]. Let other software (like mbsync) handle IMAP synchronization of a local maildir, let other software (like msmtp) handle sending, and focus on doing really good, flexible and efficient queries of the local maildir. Then you can build whatever thin, simple GUI on top of that.
The design is extraordinarily elegant. It's almost like a purely functional email client. It never touches your messages. All it does is to alter a separate tag database. Then it's up to you how to turn tags into mailbox actions, like deleting or archiving emails. It sounds complicated, but it's trivial to setup and allows infinite flexibility in how to handle emails.
The Emacs interface is beautiful, quite similar to Magit. If Emacs is not your cup of tea, it's quite easy to use as a backend for Mutt. In fact, Neomutt already comes with Notmuch bundled and deeply integrated.
+1 on notmuch. I use it at work and it works great, super easy to configure actions for all the automated emails I get daily and filter the ones that really matter.
I always wonder how those "CLI-esque" tools handle attachments and images, both receiving and sending. I use them rarely, but when I use them (usually for debugging with clients and internal business folk) then images are essential.
Is notmuch able to attach inline images from the clipboard, and render images in emails?
notmuch is objectively worse if you expect your email tags to be synced via your mailbox, which I don't see a reason not to expect. Mu uses a header in the mail, notmuch uses a separate database. Other than that point, as far as I can tell they are identical.
I sometimes destructively wipe my machines and I enjoy knowing my email is separate and I don't have to faff with my tag database backup. That said, I do also use multiple workstations - which it is also useful for.
I'm not very much into Mu. I prefer Notmuch as I find the TUI more elegant and it's completely oriented towards tags and searches. Mu also supports folders, and that made it a bit more complicated to me.
There's also notmuch.[1] It has an Emacs frontend, but people use it with mutt as well, and there exist a bunch of standalone frontends. Not sure why everyone seems to know mu and not notmuch. I wonder if anyone has done a thorough comparison.
(Looks like someone has done a minor comparison[2])
I like the idea of that approach too but I tried to set it up a few years ago and it was pretty painful. So I never got to fully functional. Are you actually using that set up and if so, do you think it's worth the effort?
A surprisingly pleasant, albeit convoluted, way to install it is, if you're already using Nix and/or NixOS, to use home-manager (https://rycee.gitlab.io/home-manager/) for that. You just have to set the settings of your account, and it will automagically link together msmtp, mu, offlineimap and emacs/astroid.
Seems to be a lot of collective experience here with customizing e-mail pipelines.
I'm just getting my ducks in a row for migrating to fully self-hosted e-mail and I have an idea of what I want but I'm not sure how best to achieve it. I have not yet fully settled on any part of the stack. What I want:
Catch-all e-mail addresses with dynamic filtering/folders based on address. For example, say I have the domain myemail.com. I'd like to be able to register at sketchysite.com with sketchysite@myemail.com. It should get filtered to its own inbox/folder.
All these should be accessible from the same application/view/search space inside my e-mail client. I should not have to add new inboxes as they come and go (many will be ephemeral), either on client or server side.
By default, replying to an e-mail will always use the recipient address as the sender.
Has anybody set up something similar? Any particular client or server you would say is suitable/unsuitable?
Aerc looks amazing, but I am still waiting for threading support before making the jump [1]. To the best of my knowledge, it supports everything else I would need.
My current stack is: Mutt, Neovim, fdm, msmtp, Syncthing, notmuch, lynx (for HTML conversion), mblaze [2] (for scripting), and a tiny pair of scripts to snooze and unsnooze e-mails. Here is an interesting observation, although a pipeline like this may look terrifying, it makes swapping in Aerc to take it for a spin trivial since it all interacts with a Maildir.
Thanks for the advice but i don't think caching is the problem, as i'm using a local directory. It's parsing that takes a very long time. Or does caching take parsing into account? (that's not what the caching guide says)
I’m a mutt + local postfix person. I love it’s simplicity and not needing to leave the terminal. Also, having it in a tmux is only a few keystrokes away
Yeah, I forward to a smart host. And I’m probably fine about leaking local IP since I’m usually communicating with people who know where I live anyway :)
It’s a leftover from when I was playing with Micro Blog (big fan of that project/platform). You can also probably find some leftover code from when I was trying to implement direct publishing via Micropub and iA Writer (and I failed miserably)
I love this! The author didn't mention Mimestream (https://mimestream.com/) which is a great MacOS email app, I think, but don't quote me on this, that app is from an ex-apple employee.
I’m a mail.app user and enjoy minimal email client interfaces. Problem is, for large inboxes, I find mail.app’s search very inadequate. More often than not I’m opening gmail’s web app to find what I’m looking for.
Because I have some pretty large mailboxes on my Mac, and Mail.app searches/indexes them like a champ. The search, in fact, is what KEEPS me on Mail.app -- it would be way more convenient for me professionally to surrender to Outlook, and Mac Outlook is really not bad, but holy hell is Outlook's search GARBAGE compared to the Mac client.
I think the difference is between mail stored locally versus remote Gmail. Mail.app’s Gmail searching is subpar compared to the main web interface. It’s probably not Mail.app’s fault, but that’s what keeps me using the web version as opposed to using Mail.app (for that account).
Could be. I use a true IMAP server for personal mail and Exchange for corporate, and have it set up so I have a copy of all my mail locally, in part BECAUSE of the excellent search.
The frequent example is pretty crazy. I work for a small software company. We have a low-cost product that we sell that uses actual license keys we have to generate. The task of actually generating those keys, and thus doing the formal "this is your delivery" emails, falls to me b/c it involves SQL. Takes 2 minutes, so nobody wants to spend the time writing a front end for it, etc. Familiar story I'm sure.
Anyway, so I send out the fulfillment mails. Boss always gets a copy. They always have a PO number in the subject line. He'll search his Outlook, and VERY VERY OFTEN Outlook can't find it. I'll search MY mail in Mail.app, and can forward it back to him in seconds. I've watched him do it. I've duplicated the failure myself -- I have true-blue Outlook running in a VM, bc sometimes you need it for calendar stuff -- and it just plain fails. A LOT.
It sure seems like "search" would be an important part of a good email client, but Microsoft appears to disagree.
Mail has always been spotty, but Mail's search completely stopped working for me around the time I upgraded to Big Sur.
Currently, it finds only a few random scraps and doesn't search the entire mailbox. Spotlight still works; searching by the text in Spotlight shows a match, but clicking on the match (to open it in Mail) does nothing. I've tried rebuilding the mailbox and I've tried wiping the entire Mail directory; nothing works. Apparently other people have the same issue, but I haven't found a solution.
This is too bad, because Mail.app is probably the most functional, no-nonsense client for macOS. I've tried some others (Airmail, Spark, Polymail, etc.), but they have a lot of usability issues and weird features (like Sparrow's team support) that are irrelevant to me.
Ugh, by default Mail.app just searches in the current mailbox. When you start a search, on the top of the left sidebar, just above your list of mailboxes, a new “All Mailboxes” folder will appear. Click that to search the whole app.
I don’t know why they did this. I don’t know who was asking for it.
Same here which is why I switched to using a desktop mail client that just wraps the Gmail web interface (there are a few out there). Gmail itself is pretty minimal (when you turn off a lot of the junk in settings) and this way I get the power of Gmail's native search along with nice desktop notifications.
I’ve been using Mimestream since the very early betas, and have grown to absolutely love it for its simplicity and performance. The developers are very responsive, and are iterating quite quickly to tighten up the client before stable release.
I will absolute purchase a license when it’s out of beta.
This is cool. Inspirations to further cleanup my current setup. I have no toolbar and just work with two panes, the "Flagged and Unread" on the left and the content on the primary. Been using macOS Mail for a really long time that I'm comfortable with almost all the useful keyboard shortcuts.
I'm not too keen or worried about Inbox Zero but I try to clean up once a while. Here are archived screenshots from my yearly digital review/detox/cleansing sessions around the year-end.
This is great in terms of UI. Does anyone know if you can use Mail.app with Gmail and keep all emails on the server? I'm currently using Mimesteram which has a great UI and doesn't keep a local copy of all emails. But, I would rather use the native mail app if possible.
Yeah, the disk space issue is what I'm concerned with. I'd prefer not to use local disk space to store a copy of my emails but I haven't been able to find a way to disable local storage in Mail.app.
My favourite minimal email client was nmh[0]. Essentially, all mail client commands are their own programs. This made extending it as easy as writing whatever scripts you want.
nmh does not support maildir; it uses its own (rather similar) format known as “mh”.
I’ve used nmh for over a decade, but mostly due to inertia. nmh has some issues displaying and (especially) replying to some of the crazier modern formats, although it does a much better job now than even just a few years ago.
At this point I’m experimenting with alternatives. I too have concerns about its security (I fear anything from crufty C exploits to MIME parsing exploits to spec‐compliant misfeatures that leak privacy). Maildir is supported by a variety of software I’m interested in (mblaze, mu, notmuch), and honestly I think it’s a better format: the good things about mh format (easy shell manipulation with one mail per file) without some of the less desirable parts (for instance, Maildir keeps flags in the filename, while mh marks the message with custom headers, thus modifying the content).
I tried this once. I am not disciplined enough with inbox zero for this to be functional. Now I use the opposite, mailmate [1] with a stupid amount of smart mailboxes for different types of filtering.
One of my favourite things in mailmate is the ability to auto generate sub-folders in a smart folder based on rules. When I discovered this feature when trialing the product my first inclination was to create a smart folder replicating my inbox, with a rule creating sub-folders for every unique sender. I marvelled at my genius and purchased the product immediately. To this day this system is my main method to quickly scan and archive old inbox conversations sender by sender.
Haha, having worked on email clients, this gave me a good laugh. People use them in all sorts of different ways – part of what makes them tricky to build. Very clever customization though!
I think this is the closest I could get the toolbar to match the article on Big Sur.
- There's an unremovable vertical separator, which is related to the new sidebar behavior.
- The filter button seems unremovable.
- Other toolbar buttons can be moved to the left of the sidebar-related vertical separator, but the flex-space doesn't work the same as described in the article. As a result, the search bar can't be centered.
I wonder though, how do you keep the client minimal, while also maintaining a useful level of functionality?
It's something I've tackled with over the years while developing DarwinMail[1]. I've always tried to keep the UI clean and clutter free, while still providing all the functionality the user would like (that I learn about from feedback and also from other tools research).
I'd love to hear your thoughts on how you decide what features make the cut, and how they are designed?
I was really intrigued by the first screenshot, I thought "wow, looks promising". The next screenshots for the settings threw that promise out the window. That does not minimal at all.
I would like to see a minimalist email client with a nice simple UI but maybe text-based config? A crossover between TextMate and pine.
Edit: thanks to the comment below, I had to read the post twice to get that it was not a new app and just a reconfig of Mail.app duh...
The article is instructing users how to configure Mac OS' built-in Mail application into a minimal form. The preferences dialog pictured is from that application.
I didn't want to spend money on Internet access in the early 2000's and libraries didn't permit access to SSH, so I made a super simple webmail client to browse a maildir as well as a form to send messages to other people. It was orders of magnitude better than the webmail services most people were using (this was just before Gmail shook everything up).
[1] https://www.djcbsoftware.nl/code/mu/