Dans votre, .muttrcajoutez la ligne suivante:
set display_filter="exec sed -r \"s/^Date:\\s*(([F-Wa-u]{3},\\s*)?[[:digit:]]{1,2}\\s+[A-Sa-y]{3}\\s+[[:digit:]]{4}\\s+[[:digit:]]{1,2}:[[:digit:]]{1,2}(:[[:digit:]]{1,2})?\\s+[+-][[:digit:]]{4})/date +'Date: %a, %d %b %Y %H:%M:%S %z' -d '\\1'/e\""
Cela changera l'en- Date:tête du message (pour l'affichage uniquement) en votre fuseau horaire local si l'en-tête contenait une date au format RFC valide. Si le format de date fourni était incorrect (nous avons affaire à des entrées utilisateur non fiables après tout), il sera conservé. Pour lutter contre une éventuelle tentative d'injection du code shell à travers l'en-tête, le sedmodèle implémente une liste blanche basée sur le RFC 5322 (ce RFC définit le format du Date:champ).
Notez que muttlimite la ligne de commande à pas plus de 255 caractères, j'ai donc optimisé la sedcommande d' origine qui avait une liste blanche plus stricte pour tenir dans 255 octets. Si vous prévoyez de faire autre chose avec le message, alors la sedcommande complète que vous pouvez mettre dans un script est:
sed -r "s/^Date:\s*(((Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s*)?[[:digit:]]{1,2}\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+[[:digit:]]{4}\s+[[:digit:]]{1,2}:[[:digit:]]{1,2}(:[[:digit:]]{1,2})?\s+[+-][[:digit:]]{4})/date +'Date: %a, %d %b %Y %H:%M:%S %z' -d '\1'/e"
               
              
filter.seddossier. Merci!