Di .muttrc
tambahkan Anda baris berikut:
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\""
Ini akan mengubah Date:
header dalam pesan (hanya untuk tampilan) ke zona waktu lokal Anda jika header berisi tanggal diformat RFC yang valid. Jika format tanggal yang diberikan salah (kami berhadapan dengan input pengguna yang tidak dipercaya) itu akan dipertahankan. Untuk mengatasi kemungkinan upaya untuk menyuntikkan kode shell melalui header, sed
pola mengimplementasikan daftar putih berdasarkan RFC 5322 (RFC ini mendefinisikan format Date:
bidang).
Catatan yang mutt
membatasi baris perintah tidak lebih dari 255 karakter, maka saya mengoptimalkan sed
perintah asli yang memiliki daftar putih lebih ketat untuk masuk ke 255 byte. Jika Anda berencana melakukan hal-hal lain dengan pesan tersebut, maka sed
perintah lengkap yang dapat Anda masukkan ke dalam skrip adalah:
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.sed
file saya . Terima kasih!