#!/usr/bin/env bash # Mail via GMX-Relay versenden (Docker-Image "hb42/smtp") # # Klappt nur direkt im Container, daher ggf. via ssh aufrufen (Annahme: remote user == local user) # # $1 = recipient # $2 = Mail-Betreff (ggf. in "") # $3 || STDIN = Mail-Body # # Verwendung: # > echo "sinnloser Text - äöüÄÖÜß -"| mail.sh hb242@pm.me "noch'n test" # > mail.sh hb242@pm.me "log whatever" ../log/some.log # DOCKER=/usr/bin/docker MAILCONTAINER=smtp MAILSERVER_IP=10.4.2.30 SSH="" which ip >/dev/null 2>&1 if [ $? -eq 0 ]; then # Linux myip=$(ip -o route get to 8.8.8.8 | sed -n 's/.*src \([0-9.]\+\).*/\1/p') else # macOS myip=$(ipconfig getifaddr en0) # FIXME: nicht sauber wg. explizitem IF! fi if [ "$myip" != "$MAILSERVER_IP" ]; then SSH="ssh $MAILSERVER_IP" fi TO=$1 SUBJECT=$2 shift 2 if [ -z "$TO" ] || [ -z "$SUBJECT" ]; then echo "ERROR: missing parameter " echo echo "Usage: $0 recipient subject [file || STDIN]" echo exit fi # Mail body aus Datei oder STDIN holen CONTENT=$(cat ${1:--}) # construct mail header + content and pipe to sendmail cat <