#!/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

source ${APP_PATH}/inc-icons

RCPT=$1
SERVICE=$2
PROCESS_OR_URI=$3
STATE=$4

case $4 in
  online)
    SERVICE_OR_PROCESS="Служба"
    STATE_STR="доступна"
    ICON=${ICON_OK}
    ;;
  running)
    SERVICE_OR_PROCESS="Процесс"
    STATE_STR="запущен"
    ICON=${ICON_OK}
    ;;
  offline)
    SERVICE_OR_PROCESS="Служба"
    STATE_STR="недоступна"
    ICON=${ICON_FAIL}
    ;;
  stopped)
    SERVICE_OR_PROCESS="Процесс"
    STATE_STR="остановлен"
    ICON=${ICON_FAIL}
    ;;
esac

MESSAGE_TEXT="${ICON} ${SERVICE_OR_PROCESS} ${SERVICE} (${PROCESS_OR_URI}) ${STATE_STR}"


#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: '"${MESSAGE_TEXT}"'
Date: '"$(date)"'

'"${MESSAGE_TEXT}"'
-----
'"${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
