2024-01-05 20:42:25 +01:00
### DISCLAIMER: This is a third party addition to dockcheck - best effort testing.
2025-06-24 09:16:48 -04:00
NOTIFY_SMTP_VERSION = "v0.3"
2024-07-24 12:18:23 +02:00
# INFO: ssmtp is depcerated - consider to use msmtp instead.
2024-01-05 20:42:25 +01:00
#
2024-07-24 12:18:23 +02:00
# mSMTP/sSMTP has to be installed and configured manually.
2025-05-29 16:43:34 -04:00
# Leave (or place) this file in the "notify_templates" subdirectory within the same directory as the main dockcheck.sh script.
# If you instead wish make your own modifications, make a copy in the same directory as the main dockcheck.sh script.
# Do not modify this file directly within the "notify_templates" subdirectory. Set SMTP_MAIL_FROM, SMTP_MAIL_TO, and SMTP_SUBJECT_TAG in your dockcheck.config file.
2025-05-25 12:26:13 -04:00
if [ [ -z " ${ SMTP_MAIL_FROM :- } " ] ] || [ [ -z " ${ SMTP_MAIL_TO :- } " ] ] || [ [ -z " ${ SMTP_SUBJECT_TAG :- } " ] ] ; then
printf "SMTP notification channel enabled, but required configuration variables are missing. SMTP notifications will not be sent.\n"
remove_channel smtp
fi
2024-01-05 20:42:25 +01:00
2024-07-24 12:18:23 +02:00
MSMTP = $( which msmtp)
SSMTP = $( which ssmtp)
2024-10-10 09:48:41 +02:00
if [ -n " $MSMTP " ] ; then
2024-10-05 08:03:33 +02:00
MailPkg = $MSMTP
elif [ -n " $SSMTP " ] ; then
MailPkg = $SSMTP
2024-07-24 12:18:23 +02:00
else
echo " No msmtp or ssmtp binary found in PATH: $PATH " ; exit 1
fi
2025-05-25 12:26:13 -04:00
trigger_smtp_notification( ) {
SendMailFrom = " ${ SMTP_MAIL_FROM } " # e.g. MAIL_FROM=me@mydomain.tld
SendMailTo = " ${ SMTP_MAIL_TO } " # e.g. MAIL_TO=me@mydomain.tld
SubjectTag = " ${ SMTP_SUBJECT_TAG } " # e.g. SUBJECT_TAG=dockcheck
2024-01-06 17:29:35 +01:00
2024-10-05 08:03:33 +02:00
$MailPkg $SendMailTo << __EOF
2024-01-05 20:42:25 +01:00
From: " $FromHost " <$SendMailFrom >
date:$( date -R)
To: <$SendMailTo >
2025-02-10 19:46:23 +01:00
Subject: [ $SubjectTag ] $MessageTitle $FromHost
2024-01-05 20:42:25 +01:00
Content-Type: text/plain; charset = UTF-8; format = flowed
Content-Transfer-Encoding: 7bit
2024-10-10 10:22:17 +02:00
$MessageBody
2024-01-05 20:42:25 +01:00
__EOF
2025-06-24 09:16:48 -04:00
if [ [ $? -gt 0 ] ] ; then
NotifyError = true
fi
2024-01-05 20:42:25 +01:00
}