Je modère des mails pour différentes listes gérées par Sympa, tout en utilisant Mutt comme MUA.

Mutt présente l’avantage de présenter les mails dans une interface ncurses tout en permettant une très grande souplesse dans les raccourcis pour gérer ses mails. La fonction push permet même de simuler des séquences de raccourcis. Il présente aussi l’avantage de passer le contenu d’un mail (ou d’une pièce jointe) à l’entrée standard d’un autre en utilisant le mécanisme des tubes (pipes) d’Unix.

Afin de valider les mails venant de listes gérées par sympa, j’utilise le code suivant :

#!/bin/zsh
# Vincent-Xavier JUMEL (c) 2010
# This work is released under the WTFPL-2
# <http://zoy.org/wtfpl>

# This script operate on mailboxes where sympa moderation
# request are deliverd.
# You shall pipe it from the base64-decoded message.
# You may add a binding to your muttrc such :
# macro index <F5> "<pipe-message>~/bin/sympa-request.sh ACCEPT"
# macro index <F6> "<pipe-message>~/bin/sympa-request.sh REJECT"

LINE=(`grep -E '^DISTRIBUTE .*$' /dev/stdin`)

ACTION=$LINE[1]
LIST=$LINE[2]
KEY=$LINE[3]

if [ $1 ] ; then 
        ACTION=$1
fi

echo "" | mail -s "$ACTION $LIST $KEY" sympa