From 189dc26296b37e62a4cf5ef9b9ce3231cf8d2ff2 Mon Sep 17 00:00:00 2001 From: IIIPr0t0typ3III Date: Sat, 12 Apr 2025 15:58:19 +0000 Subject: [PATCH] Fixed zfs_notify_email for programs like sendmail zfs_notify_email will now include an empty line separating the header from the body of the email in case the subject is not provided via a command line argument. This is necessary for programs like sendmail to function correctly (everything up to the first empty line is interpreted as header, which previously resulted in either missing message parts or unsent emails) Reviewed-by: Alexander Motin Signed-off-by: Felix Schmidt Closed #17238 --- cmd/zed/zed.d/zed-functions.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/zed/zed.d/zed-functions.sh b/cmd/zed/zed.d/zed-functions.sh index 470739d16..6e00f153b 100644 --- a/cmd/zed/zed.d/zed-functions.sh +++ b/cmd/zed/zed.d/zed-functions.sh @@ -283,6 +283,11 @@ zed_notify_email() if [ "${ZED_EMAIL_OPTS%@SUBJECT@*}" = "${ZED_EMAIL_OPTS}" ] ; then # inject subject header printf "Subject: %s\n" "${subject}" + # The following empty line is needed to separate the header from the + # body of the message. Otherwise programs like sendmail will skip + # everything up to the first empty line (or wont send an email at + # all) and will still exit with exit code 0 + printf "\n" fi # output message cat "${pathname}"