Type ahead der Mailadressen in Mutt
Ich versuche gerade auf den Terminal Mail Client mutt umzusteigen. Ein Problem was man schnell hat sind die fehlenden Mailadressen. Eine Möglichkeit ist die Nutzung der Funktion “alias”. Anhand dieses Beitrages konnte ich mir das aber schön bauen.
Zuerst brauchen wir ein Script das eine Mail nimmt, die Adressen ausliest und in eine alias Datei schreibt
vi .config/mutt/create-alias.sh
#!/bin/sh
MESSAGE=$(cat)
NEWALIAS=$(echo "${MESSAGE}" | grep ^"From: " | sed s/[\,\"\']//g | awk '{$1=""; if (NF == 3) {print "alias" $0;} else if (NF == 2) {print "alias" $0 $0;} else if (NF > 3) {print "alias", tolower($(NF-1))"-"tolower($2) $0;}}')
if grep -Fxq "$NEWALIAS" $HOME/.config/mutt/aliases.txt; then
:
else
echo "$NEWALIAS" >> $HOME/.config/mutt/aliases.txt
fi
echo "${MESSAGE}"
chmod +x .config/mutt/create-alias.sh
Dann sagen wir mutt das es dieses Script aufrufen soll wenn eine Mail angezeigt wird.
vi .config/mutt/muttrc
set alias_file=~/.config/mutt/aliases.txt
source ~/.config/mutt/aliases.txt
set display_filter="~/.config/mutt/create-alias.sh"
Jetzt können wir beim erstellen einer Mail bei der Frage nach “To:” auf Tab drücken und bekommen eine Liste aller Mailadressen die uns in letzter Zeit eine Mail gesendet haben