This repo contains my configs for mutt, mpop, msmtp and a bespoke mail filtering script.
It also contains a sample getmail config for IMAP accounts, which downloads all messages and deletes them from the server.
In recent versions of Mutt, you can use
local_date_header = no to hide your timezone. If you're running a version prior to 2.2.0, you can achieve the same result using a shell alias:
alias mutt='TZ=UTC mutt'.
Also in recent versions of Mutt, the User-Agent header is disabled by default.
By default, Mutt exposes the computer's hostname in the Message-ID header! Also, certain spam filters want the Message-ID hostname to be a FQDN (see Rspamd's
MID_RHS_NOT_FQDN rule). So it's best to explicitly set $hostname to match the From address.
My muttrc has basic Vim key bindings, but if you want to go further in that direction see Mutt, the Vim Way.
In mpop and msmtp I've pinned the Let's Encrypt root certificate using
tls_trust_file. If you want to pin the end-entity cert, use the
tls_fingerprint variable. You can obtain a server's TLS fingerprint by running:
openssl s_client $HOST:$PORT </dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -enddate -noout
Run it with and without
torsocks to check from multiple network perspectives.