#!/bin/sh

autorepo_mail_cat_quoted_file()
{
    local out="$1"
    shift;
    local i
    for i in "$@"; do
	if [ -e "$i" ]; then
	    echo "=== BEGIN $i ===============" >> "$out"
	    cat "$i" >> "$out"
	    echo "=== END $i =================" >> "$out"
	    echo >> "$out"
	fi
    done
}

AUTOREPO_TMP_MAIL_BODY=$AUTOREPO_HOME/tmp-mail-body.txt
#cleanup_mail_trap() {
#   [ -e "$AUTOREPO_TMP_MAIL_BODY" ] && rm -f "$AUTOREPO_TMP_MAIL_BODY"
#   exit
#}
#trap cleanup_mail_trap INT TERM EXIT

send_mail_with_topic()
{
    local problem="$1"
    local adate=$(date +"%Y%m%d")
    #AUTOREPO_TMP_MAIL_BODY=`mktemp autorepo_mail.XXXXXXXXXX`
    echo "$problem detected: " >> "$AUTOREPO_TMP_MAIL_BODY"
    echo >> "$AUTOREPO_TMP_MAIL_BODY"
    autorepo_mail_cat_quoted_file "$AUTOREPO_TMP_MAIL_BODY" "$@"
    cat >> "$AUTOREPO_TMP_MAIL_BODY" <<EOF

--
Sincerely yours,
Autorepo service.
EOF
    mutt -x -s "$GB_REPO_NAME: $problem encountered at $adate" -i "$AUTOREPO_TMP_MAIL_BODY" -- "$AUTOREPO_ADMIN_MAIL" </dev/null
    rm -f "$AUTOREPO_TMP_MAIL_BODY"
}

send_failure_mail()
{
    local attachedfile="$1"
    local adate=$(date +"%Y%m%d")
    cat > "$AUTOREPO_TMP_MAIL_BODY" <<EOF
FAILED: $GB_REPO_NAME $AUTOREPO_BRANCH at $adate.
see attached log fle for details.
--
Sincerely yours,
Autorepo service.
EOF
    mutt -x -s "FAILED: $GB_REPO_NAME $AUTOREPO_BRANCH $adate" -i "$AUTOREPO_TMP_MAIL_BODY" ${attachedfile:+-a "$attachedfile"} -- "$AUTOREPO_ADMIN_MAIL" </dev/null
    rm -f "$AUTOREPO_TMP_MAIL_BODY"
}
