60 lines
3.6 KiB
Markdown
60 lines
3.6 KiB
Markdown
---
|
|
date: "2025-06-09T04:00:00-07:00"
|
|
title: "TUI Challenge: Day 2"
|
|
tags: ["cli","tui"]
|
|
categories: ["personal","sa"]
|
|
#image: ""
|
|
series: ["tuichallenge"]
|
|
summary: "Email in the Terminal!"
|
|
---
|
|
|
|
Hey, look! Another day, another post. Today's challenge is *Email Management*. Since I already live in
|
|
[neomutt](https://neomutt.org), I should probably describe my setup.
|
|
|
|
## Receiving Email and filtering
|
|
|
|
Much to my shame, I am still receiving my email with Gmail. But, it is on my list to migrate somewhere else this year.
|
|
I think I have narrowed it down to two providers, but that is not what I am doing today.
|
|
|
|
I do have IMAP enabled on my account so I can read my email without going to gmail.com. For filtering, I use a tool
|
|
called [gmailctl](https://github.com/mbrt/gmailctl) which allows me to control gmail's filters from my computer. It
|
|
works by connecting to gmail and pulling down the filter definition file, and then firing up my default editor. Once I
|
|
am happy with the changes, it will upload it back to gmail.
|
|
|
|
To actually retrieve my emails, I use mbsync which is part of the [isync](https://isync.sourceforge.io/mbsync.html)
|
|
suite. You follow the directions, and it will sync your email down. This tool will work with any IMAP server, so when I
|
|
finally leave gmail, it will still work. One of the nice things is that since it is written in python, you can re-map
|
|
folder (labels in gmail-speak) to something different locally. For example, I map *All Mail* on google's side to
|
|
*All-Mail* on my side.
|
|
|
|
I use a [systemd timer](https://wiki.archlinux.org/title/Systemd/Timers) to schedule the sync runs.
|
|
|
|
I also run [notmuch](https://notmuchemail.org) to index my mail so I can search it in my MUA (Mail User Agent) of
|
|
choice.
|
|
|
|
## Reading Email
|
|
|
|
I have been using mainly a TUI to read my email since I started on the internet. Back in the beginning, it was because
|
|
there where no GUI email applications, and it was before the WWW (yes, I am that old). Over the years, I have used elm
|
|
(fun fact, for a while, I was the Debian package maintainer for elm!), pine, and an Emacs email client (do not remember the
|
|
name anymore). But the client I have been using since I started using back when it was new is [mutt](https://mutt.org),
|
|
although I have switched to [neomutt](https://neomutt.org) a while back. Neomutt is mutt with a bunch of patches
|
|
included, but it is a great MUA on its own.
|
|
|
|
One of the killer features (for me, anyway) is that I can configure neomutt to use notmuch and it makes searching for a
|
|
specific email a breeze.
|
|
|
|
For my address book, I use a program called [khard](https://github.com/lucc/khard) which I sync with my google address
|
|
book using [vdirsyncer](https://github.com/pimutils/vdirsyncer) which I will talk more about on Day 6.
|
|
|
|
## Sending Email
|
|
I used to use gmail's SMTP service, but sometime this year, the have changed their sending limits to an aggressively low
|
|
number which would cause me to not to be able to send an email for hours, sometimes days. I typically do not send a lot
|
|
of emails (mainly less than 10 automated reports to myself a day), so this was annoying. I switched to using the free
|
|
tier at [smtp2go](https://smtp2go.com) and I have had zero issues sending email since then. My needs to not really
|
|
require any of their paid plans, but I am thinking about getting the smallest paid plan to help support the service.
|
|
|
|
## Daily totals
|
|
I come into today with 20 points. How did I do today? Well, the basic for setting up an email tui is 20 points, 5
|
|
points for filtering, and 10 points for using a TUI address book for a daily total of 35, bring my total to 55 points!
|
|
|