rikard.me/blog/018.txt Sun 27 Oct, 2024 Struggles with M-x rmail For a few years now I have been using Emacs as my email client with M-x rmail. This is a very simple (read 'good') email client. It's very basic, but that's exactly why I love it. However, it's not particularly fast and that's mainly thanks to it being limited to only supporting the mbox format. I guess there's nothing wrong with mbox, it just doesn't work well with my workflow. At work we use Outlook, and this is where I manage most of my emails, and it has as such shaped my personal workflow. I tend to not delete email; I only delete stuff that I know I won't ever want to see again (payment reminders, newsletters, etc.). I practice inbox zero; whenever I've processed an email it goes out of my inbox and into an archive folder. I don't have a sophisticated filing system, all archived emails go into one folder. This works great for me, I've never had issues searching for and finding stuff I need -- I don't need dozens upon dozens of nested folders. In Outlook I do this by pressing backspace on my keyboard, and it moves the current email to 'archive.ost'. Rmail doesn't have that, but I wrote the below to replicate it: (defun rha/rmail-archive-current-message () "Archive and mark the current message for deletion." (interactive) (rmail-output rha/rmail-archive-file) (rmail-delete-forward)) (add-hook 'rmail-summary-mode-hook (lambda () (local-set-key (kbd "A") 'rha/rmail-archive-current-message))) Basically this moves a message from the current mailbox to my archive ('rha/rmail-archive-file' which I've set to '~/Mail/archive.mbox'). I have a few thousand emails in 'archive.mbox' at the moment. This is where the problem with rmail and mbox becomes apparent. Let's say I want to sort these by author. On my 24 core desktop, sorting 2500 emails takes 20 seconds. That's nuts! Paging through emails is also messy. When I'm in summary mode and hover over a message, that message gets read into another buffer (even if it's not displayed, it's still being read). A lot of companies have awful emails, which are very heavy for no reason, and whenever I page over one of these emails, Emacs freezes for a second to load the contents of it. That means that you can't quickly and seamlessly zoop through a long list of emails without stuttering. I don't really want to switch away from rmail, because aside from the fact that I've used it for such a long time now, I just really like it. I like the fact that it's the default email client in Emacs. But I also don't like using slow and sluggish software. The logical thing would be to change my workflow. It wouldn't have to be a radical change, I could keep doing what I do, but have my archive split into multiple smaller files; perhaps one for each year, or maybe even one per quarter. But, searching for emails would take longer with this approach, and there would also be a disconnect between how I do email at work contra how I do email at home. Maybe I do myself a disservice staying with rmail when it doesn't really work for me. I've seen a lot of people talk highly of mu4e, but it's newer and it scares my boomer brain. I don't like using stuff that isn't built-in; even though I'm a pretty advanced Emacs user, my setup is very much default. I'll probably experiment a bit, but the thought of leaving rmail makes me sad.