diff --git a/etc/icinga2/scripts/mail-host-notification.sh b/etc/icinga2/scripts/mail-host-notification.sh index 93f942e13..2b0619c38 100755 --- a/etc/icinga2/scripts/mail-host-notification.sh +++ b/etc/icinga2/scripts/mail-host-notification.sh @@ -103,6 +103,7 @@ done ## Build the message's subject SUBJECT="[$NOTIFICATIONTYPE] Host $HOSTDISPLAYNAME is $HOSTSTATE!" +ENCODED_SUBJECT="=?utf-8?B?$(base64 --wrap=0 <<< "$SUBJECT")?=" ## Build the notification message NOTIFICATION_MESSAGE=`cat << EOF @@ -157,15 +158,15 @@ if [ -n "$MAILFROM" ] ; then ## Debian/Ubuntu use mailutils which requires `-a` to append the header if [ -f /etc/debian_version ]; then - /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -a "From: $MAILFROM" -s "$SUBJECT" $USEREMAIL + /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' + | $MAILBIN -a "From: $MAILFROM" -s "$ENCODED_SUBJECT" $USEREMAIL ## Other distributions (RHEL/SUSE/etc.) prefer mailx which sets a sender address with `-r` else /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -r "$MAILFROM" -s "$SUBJECT" $USEREMAIL + | $MAILBIN -r "$MAILFROM" -s "$ENCODED_SUBJECT" $USEREMAIL fi else /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -s "$SUBJECT" $USEREMAIL + | $MAILBIN -s "$ENCODED_SUBJECT" $USEREMAIL fi diff --git a/etc/icinga2/scripts/mail-service-notification.sh b/etc/icinga2/scripts/mail-service-notification.sh index 8ccb8d456..644d9d39f 100755 --- a/etc/icinga2/scripts/mail-service-notification.sh +++ b/etc/icinga2/scripts/mail-service-notification.sh @@ -107,6 +107,7 @@ done ## Build the message's subject SUBJECT="[$NOTIFICATIONTYPE] $SERVICEDISPLAYNAME on $HOSTDISPLAYNAME is $SERVICESTATE!" +ENCODED_SUBJECT="=?utf-8?B?$(base64 --wrap=0 <<< "$SUBJECT")?=" ## Build the notification message NOTIFICATION_MESSAGE=`cat << EOF @@ -163,14 +164,14 @@ if [ -n "$MAILFROM" ] ; then ## Debian/Ubuntu use mailutils which requires `-a` to append the header if [ -f /etc/debian_version ]; then /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -a "From: $MAILFROM" -s "$SUBJECT" $USEREMAIL + | $MAILBIN -a "From: $MAILFROM" -s "$ENCODED_SUBJECT" $USEREMAIL ## Other distributions (RHEL/SUSE/etc.) prefer mailx which sets a sender address with `-r` else /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -r "$MAILFROM" -s "$SUBJECT" $USEREMAIL + | $MAILBIN -r "$MAILFROM" -s "$ENCODED_SUBJECT" $USEREMAIL fi else /usr/bin/printf "%b" "$NOTIFICATION_MESSAGE" | tr -d '\015' \ - | $MAILBIN -s "$SUBJECT" $USEREMAIL + | $MAILBIN -s "$ENCODED_SUBJECT" $USEREMAIL fi