50 lines
1.1 KiB
Bash
50 lines
1.1 KiB
Bash
#!/bin/bash
|
|
APP_PATH=$(dirname "$0") # relative
|
|
APP_PATH=$(cd "$APP_PATH" && pwd) # absolutized and normalized
|
|
if [[ -z "$APP_PATH" ]] ; then
|
|
# error; for some reason, the path is not accessible
|
|
# to the script (e.g. permissions re-evaled after suid)
|
|
APP_PATH="/etc/cai-watchdog"
|
|
fi
|
|
|
|
rcpt=$1
|
|
subj=$2
|
|
message=$3
|
|
|
|
ARGS=$(xargs echo $(perl -anle 's/^[^:]+//g && s/:\s+//g && print' ${APP_PATH}/email.conf) < /dev/null)
|
|
set -- $ARGS "$@";
|
|
|
|
declare -A email;
|
|
email['user']=$1
|
|
email['pass']=$2
|
|
email['smtp']=$3
|
|
email['port']=$4
|
|
|
|
email_content='From: "Watchdog" <'"${email['user']}"'>
|
|
To: "Subscriber" <'"${rcpt}"'>
|
|
Subject: '"${subj}"'
|
|
Date: '"$(date)"'
|
|
|
|
'"${message}"'
|
|
-----
|
|
'"${HOSTNAME}"'
|
|
';
|
|
|
|
|
|
echo "$email_content" | curl -s \ # -vvv \
|
|
--url "smtps://${email['smtp']}:${email['port']}" \
|
|
--user "${email['user']}:${email['pass']}" \
|
|
--mail-from "${email['user']}" \
|
|
--mail-rcpt "${rcpt}" \
|
|
--upload-file - \
|
|
-T -
|
|
|
|
|
|
if [[ $? == 0 ]]; then
|
|
echo;
|
|
echo 'okay';
|
|
else
|
|
echo "curl error code $?";
|
|
man curl | grep "^ \+$? \+"
|
|
fi
|