mutt is a highly configurable TUI email client.
neomutt is a fork with several additions.
See http://mutt.postle.net/ to get started.
vi-like keybindings adapted from mutt-wizard
za toggle fold current thread
zA toggle fold all threads
Select multiple emails with space move them with ;s. ; means do next action for all tagged mails.
Shift-s fetch mails via mbsync (all)
I keep a general configuration in ~/.config/mutt/muttrc and account specific settings in ~/.config/mutt/accounts/
Configuration is adapted from mutt-wizard, see https://muttwizard.com/
The muttrc is stowed from the dotfiles repo, while the account configs are kept local. A template account config is kept in the dotfiles repo for ease of use.
If using a secret-service compatible secret keeper, run secret-tool store --label=msmtp host posteo.de service smtp user username@domain.org to make your email password available to mutt (if configured), msmtp and the like.
A more reliable way is to store the password encrypted via GPG, and decrypt it with gpg2 -q --for-your-eyes-only --no-tty -d ~/.ssh/mailpass.gpg
mutt is usually built with native IMAP support.
You may want to download emails while using IMAP for convenience while offline and for archival. isync can accomplish this.
See the arch wiki: https://wiki.archlinux.org/title/isync and https://wiki.archlinux.org/title/Mutt#Native_IMAP_support on how to do this.
IMAP IDLE support is also possible via goimapnotify, see the arch wiki: https://wiki.archlinux.org/title/Isync#With_imapnotify
Currently, the user unit mbsync.service is called on boot to fetch new emails from the server. mbsync.timer calls it regularly (every 15 minutes).
You can use mutt's built-in SMTP support with Posteo via the following config:
set record = +Sent set realname = 'Change Me' set from = username@domain.org set smtp_pass = $imap_pass set smtp_url = smtps://$imap_user@posteo.de set ssl_force_tls = yes set smtp_authenticators = "login"
Alternatively, you can use msmtp with the following config:
account eduml@posteo.net host posteo.de port 465 tls on tls_starttls off auth on user username@domain.org from stillme@domain.org
To change between synced IMAP folders, press c then enter the name, or press ? for a list. Press c and enter = to get back to the root folder (usually the INBOX)
See https://wiki.archlinux.org/title/General_guidelines#Mailing_lists on how to post to mailing lists.