From 43eceb55364dc0e6b1bf35ff461f7c2554ff8e8e Mon Sep 17 00:00:00 2001
From: Jonas Dujava <jonas.dujava@gmail.com>
Date: Mon, 2 Sep 2024 12:24:34 +0200
Subject: Fix notifications for mails with multiline subject

Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
---
 bin/mailsync | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

(limited to 'bin/mailsync')

diff --git a/bin/mailsync b/bin/mailsync
index cbd36ff..2cf6619 100755
--- a/bin/mailsync
+++ b/bin/mailsync
@@ -70,9 +70,10 @@ syncandnotify() {
 			echo "$newcount new mail for $2."
 			[ -z "$MAILSYNC_MUTE" ] &&
 			for file in $new; do
-		    		# Extract and decode subject and sender from mail.
-				subject="$(sed -n "/^Subject:/ s|Subject: *|| p" "$file" |
-					perl -CS -MEncode -ne 'print decode("MIME-Header", $_)')"
+				# Extract and decode subject and sender from mail.
+				subject=$(awk '/^Subject: / && ++n == 1,/^.*: / && ++i == 2' "$file" | head -n-1 |
+					perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' |
+					sed 's/^Subject: //' | tr -d '\n\t')
 				from="$(sed -n "/^From:/ s|From: *|| p" "$file" |
 					perl -CS -MEncode -ne 'print decode("MIME-Header", $_)')"
 				from="${from% *}" ; from="${from%\"}" ; from="${from#\"}"
-- 
cgit v1.2.3