매크로가 mutt
현재 메시지에서 일부 속성을 가져와서 변수로 사용할 수 있습니까? 다음은 내가 얻고 싶은 속성을 가진 잠재적인 매크로의 몇 가지 예입니다.이탤릭체.
- GPG 암호화 제거최신 뉴스를 위해. 곧
decrypt-save
도착현재 이메일메시지가 포함되어 있습니다. - 현재 메시지 저장제목과 날짜가 적힌 파일로. 즉
| cat > /tmp/filename
, 파일 이름은date_subject
. - 메시지를 사서함에 보관하십시오
archive-year
.년도메시지의 연도에 따라 다릅니다. (이있다방법메시지 날짜가 아닌 현재 날짜를 기준으로 이 작업을 수행합니다. )
답변1
비슷하다다른 답변, 일반적인 의미에서 속성을 가져오는 방법을 파악하지 못했지만 이는 두 번째 예에 대한 해키 솔루션입니다.
표준 입력을 통해 이메일을 받아들이고 날짜와 제목을 추출하여 /path/to/save/email/date_subject
.
#!/bin/env bash
message=$(cat)
mail_date=$(<<<"$message" grep -oPm 1 '^Date: ?\K.*')
formatted_date=$(date -d"$mail_date" +%y%m%d)
# Get the first line of the subject, and change / to ∕ so it's not a subdirectory
subject=$(<<<"$message" grep -oPm 1 '^Subject: ?\K.*' | sed 's,/,∕,g')
# decode base64 (UTF-8)
if [[ "$subject" =~ ^=\?[Uu][Tt][Ff]-8\?B\?.*?= ]]; then
nofront="$(echo "${subject#=\????-8\?B\?}")"
todecode="$(echo "${nofront%\?=}")"
subject="$(<<<"$todecode" base64 --decode)"
fi
if [[ $formatted_date == '' ]]; then
echo Error: no date parsed
exit 1
elif [[ $subject == '' ]]; then
echo Warning: no subject found
fi
echo "${message}" > "$1/${formatted_date}_${subject}.eml" && echo Email saved to "$1/${formatted_date}_${subject}.eml"
에서 다음 함수 muttrc
에 바인딩합니다 .S
macro index,pager S "| /path/to/script /path/to/save/email<enter>"
여러 줄로 구성된 제목의 첫 번째 줄만 사용됩니다.
답변2
메시지에서 속성을 가져오는 방법을 모르지만 적어도 첫 번째 예에서는 다른 솔루션이 있습니다.
현재 사서함에 대한 바로 가기로 사용할 수 있으므로 현재 사서함에 액세스 ^
하려면 다음을 사용할 수 있습니다.decrypt-save
macro index <F7> <decrypt-save>^<Enter>y<Enter>