Add support for plain text only emails (#6485)

* Add configuration for plain text only emails

* Implement sending Plain Text only emails
This commit is contained in:
leo-lb 2019-07-22 13:04:20 +02:00 committed by Chris Akritidis
parent 4a1c750a0c
commit aaf31295c3
2 changed files with 43 additions and 10 deletions

View File

@ -352,6 +352,7 @@ SYSLOG_FACILITY=
EMAIL_SENDER=
EMAIL_CHARSET=$(locale charmap 2>/dev/null)
EMAIL_THREADING=
EMAIL_PLAINTEXT_ONLY=
# irc configs
IRC_NICKNAME=
@ -2093,16 +2094,7 @@ SENT_SYSLOG=$?
# -----------------------------------------------------------------------------
# send the email
send_email <<EOF
To: ${to_email}
Subject: ${host} ${status_message} - ${name//_/ } - ${chart}
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="multipart-boundary"
${email_thread_headers}
This is a MIME-encoded multipart message
--multipart-boundary
IFS='' read -r -d '' email_plaintext_part <<EOF
Content-Type: text/plain; encoding=${EMAIL_CHARSET}
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
@ -2124,8 +2116,27 @@ Evaluated Expression : ${calc_expression}
Expression Variables : ${calc_param_values}
The host has ${total_warnings} WARNING and ${total_critical} CRITICAL alarm(s) raised.
EOF
if [[ "${EMAIL_PLAINTEXT_ONLY}" == "YES" ]]; then
send_email <<EOF
To: ${to_email}
Subject: ${host} ${status_message} - ${name//_/ } - ${chart}
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="multipart-boundary"
${email_thread_headers}
This is a MIME-encoded multipart message
--multipart-boundary
${email_plaintext_part}
--multipart-boundary--
EOF
else
IFS='' read -r -d '' email_html_part <<EOF
Content-Type: text/html; encoding=${EMAIL_CHARSET}
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
@ -2231,9 +2242,26 @@ Content-Transfer-Encoding: 8bit
</table>
</body>
</html>
EOF
send_email <<EOF
To: ${to_email}
Subject: ${host} ${status_message} - ${name//_/ } - ${chart}
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="multipart-boundary"
${email_thread_headers}
This is a MIME-encoded multipart message
--multipart-boundary
${email_plaintext_part}
--multipart-boundary
${email_html_part}
--multipart-boundary--
EOF
fi
SENT_EMAIL=$?
# -----------------------------------------------------------------------------

View File

@ -221,6 +221,11 @@ DEFAULT_RECIPIENT_EMAIL="root"
# below if you want to disable it.
#EMAIL_THREADING="NO"
# By default, netdata sends HTML and Plain Text emails, some clients
# do not parse HTML emails such as command line clients.
# To make emails readable in these clients, you can configure netdata
# to not send HTML but Plain Text only emails.
#EMAIL_PLAINTEXT_ONLY="YES"
#------------------------------------------------------------------------------
# pushover (pushover.net) global notification options