diff --git a/bin/mailsync b/bin/mailsync index ac1920b..12a1383 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -70,17 +70,14 @@ 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:]]*$//') + # Extract subject and sender from mail. + from="$(sed -n "/^From: / s/^From: //g p" "$file")" 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') - notify "📧$from:" "$subject" + notify "📧 $from :" "$subject" done ;; *) echo "No new mail for $2." ;;