mailer.sh
Dieser Mailer schickt einfach eine Mail vom System aus. Dabei muss darauf geachtet werden, dass der Server Mails versenden kann mit "mail". Es schickt je nach Einstellung eine Text-Mail oder Mail mit Anhang. Der Rückgabewert besagt, ob die Mail erfolgreich versendet wurde - oder nicht.
Eigener Anwendungsfall: Einfacher Text, Bestätigungscode, Link, Nachricht.
HOWTO:
$0 -f "/var/file.png" -e mail@domain.tld -s "Betreff"
$0 -t "Text" -m mail@domain.tld -s "Betreff"
# -e ODER -m = Mailadresse
Beispiel:
# Direktaufruf (Tests)
mailer.sh -e "mail@domain.tld" -s "Testbetreff" -t "Hallo, ich bin ein Test!"
# im Script
empfaenger="mail@domain.tld"
betreff="Testbetreff"
nachricht="Hallo, ich bin ein Test!"
if bash lib/mailer.sh -e "$empfaenger" -s "$betreff" -t "$nachricht"; then
echo "Mail erfolgreich gesendet"
else
echo "Fehler beim Mailversand"
fi
Script:
#!/bin/bash
while [[ $# -gt 0 ]]; do
case "$1" in
-f) file="$2"; shift 2 ;;
-t) text="$2"; shift 2 ;;
-e|-m) mail="$2"; shift 2 ;;
-s) subj="$2"; shift 2 ;;
esac
done
if [ -z "$mail" ] || [ -z "$subj" ]; then
echo "ERROR"
exit 1
fi
if [ -n "$file" ] && [ -z "$text" ]; then
cat "$file" | mail -s "$subj" "$mail"
elif [ -n "$text" ] && [ -z "$file" ]; then
echo "$text" | mail -s "$subj" "$mail"
else
echo "ERROR"
exit 1
fi
exit 0