From d3300a478d7a87800d9c2ccb78768b409ae660cf Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sat, 18 Feb 2023 17:11:54 -0500 Subject: simplification of decoding, show help on noopt --- bin/mailsync | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'bin/mailsync') diff --git a/bin/mailsync b/bin/mailsync index ac1920b..cbd36ff 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -70,16 +70,12 @@ syncandnotify() { echo "$newcount new mail for $2." [ -z "$MAILSYNC_MUTE" ] && for file in $new; do - # Extract subject and sender from mail. TODO: beautify and clean up. - from=$(awk '/^From: / && ++n ==1,/^\<.*\>:/' "$file" | - perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | - awk '{ $1=""; if (NF>=3)$NF=""; print $0 }' | - sed 's/^[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//') - subject=$(awk '/^Subject: / && ++n == 1,/^\<.*\>: / && ++i == 2' "$file" | - head -n 1 | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | - sed 's/^Subject: //' | - sed 's/^{[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//' | - tr -d '\n') + # Extract and decode subject and sender from mail. + subject="$(sed -n "/^Subject:/ s|Subject: *|| p" "$file" | + perl -CS -MEncode -ne 'print decode("MIME-Header", $_)')" + from="$(sed -n "/^From:/ s|From: *|| p" "$file" | + perl -CS -MEncode -ne 'print decode("MIME-Header", $_)')" + from="${from% *}" ; from="${from%\"}" ; from="${from#\"}" notify "📧$from:" "$subject" done ;; -- cgit v1.2.3