mailer (Bash)
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
No Comments