====== Einfache eMails verschicken ======
Am besten legt man alle für den eMail-Versand benötigten Informationen in den Variablen:
MESSAGE="Test Message 1. Zeile\n2. Zeile"
USER="newsletter"
BETREFF="Test Betreff"
EMAIL_ADRESSE="empfaenger@domain.tld"
Um diese zu kontrollieren:
echo "${MESSAGE}"
echo "${USER}"
echo "${BETREFF}"
echo "${EMAIL_ADRESSE}"
Anschließend wird die Meldung abgeschickt:
echo "${MESSAGE}" | mailx -r "${USER}" -s "${BETREFF}" "${EMAIL_ADRESSE}"
:!: Die Variable **$USER** findet dann Verwendung, wenn der eMail-Versand nur für bestimmte User freigeschaltet ist. Dann wird die eMail durch **mailx** im Namen dieses Users versendet.
Falls "mailx" Konfiguration "~/.mailrc" voraussetzt (z.B. wegen SMTP‑Relay), gibt es trotzdem Möglichkeit, die Konfiguration-Parameter direkt auf der Kommandozeile mit Parameter "-S" zu übergeben, sodass man keine "~/.mailrc" braucht.
Einfaches Beispiel:
echo "Hier ist der eMail-Text." | mailx -S smtp=mrelay.domain.tld:25 -S smtp-auth=none -S from=dein.name@deine-domain.tld -s "Betreff bla-bla-bla" empfaenger@ziel-domain.tld
Weitere Variante - Text aus Datei:
mailx -S smtp=mrelay.domain.tld:25 -S smtp-auth=none -S from=dein.name@deine-domain.tld -s "Betreff bla-bla-bla" empfaenger@ziel-domain.tld < /pfad/zur/datei.txt
Weitere Variante - in einem Skript mit Variablen:
TO="empfaenger@ziel-domain.tld"
FROM="dein.name@deine-domain.tld"
SUBJECT="Testmail"
BODY="Hallo,\ndies ist eine Test-Mail."
printf "%b\n" "${BODY}" | mailx -S smtp=mrelay.domain.tld:25 -S smtp-auth=none -S from="${FROM}" -s "${SUBJECT}" "${TO}"
Damit bleibt alles in der Bash, ohne Konfigurationsdatei.
----
Stand: 20.09.2026
EOF