Hacker News new | past | comments | ask | show | jobs | submit login
A Minimal Email Client (manuelmoreale.com)
163 points by reimertz on Feb 25, 2021 | hide | past | favorite | 81 comments



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.

[1] https://www.djcbsoftware.nl/code/mu/


Mu is nice, but I prefer the alternative Notmuch: https://notmuchmail.org

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?


It's not an email client.


It can render images just fine.

I have never attached inline images as I always compose plain text emails, so I don't know about that one.


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.


What's the point of syncing tags to your mailbox if no other client understands them?


I guess keeping different Mu instances in sync, which is a valid point.

However, I still find Mu and Notmuch TUIs quite different.


I haven't played with Mu, and I have tonnes of tags. I don't use multiple workstations (tramp-mode). I am curious.

Why else use Mu?


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.


Oh sorry. I got distracted and thought I was still replying to the Mu-user :)


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])

[1] https://notmuchmail.org/

[2] https://old.reddit.com/r/emacs/comments/ebite6/mu4e_vs_gnus_...)


That was pretty much the general idea of mh, with guys like exmh (Tk) or mh-e (Emacs).

https://en.wikipedia.org/wiki/MH_Message_Handling_System

https://www.emacswiki.org/emacs/MH-E

http://exmh.sourceforge.net/


odd, for a week i had issues with mh-e extension when building emacs from source, never heard of it before, now i do


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.


I use mbsync, mu, and the Emacs client mu4e, and I’ve never been happier with my mail. Pretty straight-forward setup.


Been using it for 3 years. Loving it. Let me know if you wanna see the configuration files.


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?

Only hard requirements are FOSS, Linux, IMAP.


Fastmail works like this out of the box if you can stand a web interface.


Needs to be fully self-hosted. Web interface is all good otherwise, though.


Minimal you say? How about a simple collection of cli tools to interact with Maildirs!

If you're a CLI junkie like me, I think you'll like mblaze[0]. It's written by one of the maintainers of Void Linux, Lea Neukirchen, FWIW.

[0]:https://github.com/leahneukirchen/mblaze


Small world! I wrote something similar for scripted access to Maildirs:

https://github.com/skx/maildir-tools


I'm surprised no one mentioned Mutt + Maildir? I'm by no means a power-user but I really love it and find it very responsive for downloaded emails.


If you like Mutt, you might really love Aerc -- https://aerc-mail.org/


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.

[1]: https://todo.sr.ht/~sircmpwn/aerc2/94

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.

[2]: https://github.com/leahneukirchen/mblaze


Not sure why but in my case mutt + maildir is really slow. Loading a folder takes around 10s for 300 emails and slightly less than 2m with 3000.


The trick seems to be caching mail headers, https://gitlab.com/muttmua/mutt/-/wikis/MuttGuide/Caching

Also if you change folders frequently you can put: set sleep_time=0


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)


Something is wrong there. I can open a folder with >50k emails and it takes less than 5 seconds.


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


local postfix, as in "postfix configured as forwarding-smtp relay" ? note that this will normally leak your IP address in SMTP headers.


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 :)


or mutt + offlineimap


mutt + mbsync with a local copy is also a nice combination.


Off topic: what are you using to build your blog? It's very minimal and clean.


This is in the source:

  <!-- Micro Blog Ver -->
  <link href="https://micro.blog/manuelmoreale" rel="me">
Though they seem to be Linode hosted, and this blog is on DigitalOcean, so maybe a leftover bit of html from some previous version of the blog.


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 also tried that. Micropub is hard. MicroBlog is... going there but still not good enough.


It looks like it's probably generated with Hugo


It’s a custom design built using Kirby 3 (https://getkirby.com) and runs on a DO server. If you need more info let me know ;)


Thanks for the info! I'll look into Kirby more. I love the theme you're using, super simple and to the point, nothing distracting from the content


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 too enjoy inbox zero and have trimmed my toolbar down to these basics... https://i.imgur.com/ao9U9UX.png


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.


When you say "mail.app" do you mean on a Mac?

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.


It's an annoying change, I agree, but in my case that's not the problem. The search is just broken.


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.


You then might enjoy mimestream[1], I think of it as a native mac gmail client, no wrapper around gmail.com just using gmail APIs.

1: https://mimestream.com/


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.


Got to love modern software that still allows so much customization.


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.

2019: http://public.oinam.com/photos-oinam/brajeshwar-apple-macos-...

2020: http://public.oinam.com/photos-oinam/brajeshwar-apple-macos-...


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.


Mail.app is fine with gmail imap but you'll have some fun setting it up if you have 2FA.

The only issues became how much disk mail.app takes and search became slow after 6+ years.


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.

0 - http://www.nongnu.org/nmh/


Does it support maildir? Also, last time I used nmh it all sorts of issues with weird mail.

I'm not sure I trust it security wise.


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.

[1] https://freron.com


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!


BSD mail(1) + fdm + lynx for those shitty HTML emails = heaven.

Under OpenBSD you can set stmpd relaying mail to another host pretty easily, but IDK under OSX.


Is this even possible in Big Sur?


Seems so. You can hide both sidebars in the main window by resizing them smaller, hiding icons in the toolbar is also possible.


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.

=> https://media.rymate.co.uk/file/professibly.png


For some reason reminded me of the BeOS/Haiku email interface


The simplicity of this client is quite beautiful.

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?

[1] https://www.darwinmail.app


This is Apple Mail with some settings to make it “minimal.”


A minimal client that I've enjoyed is https://www.yourtempo.co

Lots of screenshots at link above.


Sadly that's not an email client, but rather a Gmail client.


This is great. I wish this was possible with Outlook.


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 once built an email client in (JSP-generated) WML for the first WAP phones.

It doesn't get less minimal than that ;)


I may have you beat on that one.

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).


Is this the default Mac Mail app or custom-built?


Default Mac Mail w/ given customizations




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: