Offline Email
PostedFirst things first, I want to apologize for missing last month's status update. The transition from high school and the summer break to the new rigor of college has hit me and I still need time to adjust. I'll definitely be writing a status update for October though!
Onto the post: Recently I came upon an older post by Drew Devault about how he uses mbsync and postfix for offline email, and I was inspired to recreate it myself. My college will sometimes refuse to allow my old T430 to connect to the WiFi, leaving me unable to respond to emails until I can get back online. Plus, it seems like a really cool thing to do!
I deviated a little from Drew's post, specifically in the software that I used. I ran into issues using postfix as my MTA, which I'll detail further on. I also decided against using aerc as my MUA, because I've had consistent performance issues with it and it still sometimes crashes when I change folders. My final software list is:
- mbsync/isync: Syncing IMAP to a Maildir on my laptop
- neomutt: Mail Client
- msmtp: sending email
The first thing I attempted was setting up mbsync/isync to grab new messages
from my IMAP account at Migadu. This was fairly easy using Drew's post and the
Arch Wiki page as guides. My final .mbsyncrc
can be found
here. Then, I set
it up to sync every minute with a simple crontab:
* * * * * chronic mbsync -a
Next came neomutt, which I use to read and manipulate mail. This took some
finicky configuration, because I had to get it to read the right directory.
Specifically, it kept adding a second /
to the end of my folder, which turned
out to be my fault adding a /
to the end of my set spoolfile=+
line in
.muttrc. You can see my final configuration file
here. I had some
issues where neomutt would use my linux username instead of my configured email
address as part of my From
header, which I fixed by adding the following line
to my muttrc:
my_hdr From: Cara Salter <cara@devcara.com>
Finally, msmtp. I decided on msmtp against postfix because postfix kept erasing
my From
header and sending an empty sender to Migadu. Msmtp "Just Worked", so
I went with that. It's possible I might try postfix again soon, especially since
I want to learn how it works, and when I do I'll be sure to write it up for this
blog.