class: center, middle  # sSMTP ### Externen SMTP-Server für Systemmails nutzen ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Verwendet Mailserver, um Statusnachrichten zu versenden. --- ### sSMTP?  **sSMTP** (Simple SMTP) ist ein einfaches Programm zum **Senden** von **eMails** über SMTP und SMTPS, das Mails vom System annimmt und für die Zustellung an einen externen SMTP-Server weiterleitet. Damit erspart Ihr Euch die **aufwendige** und **problematische Einrichtung** eines **Mailservers**. Mehr zu sSMTP: * **Projektseite**: https://packages.qa.debian.org/s/ssmtp.html * **Git**: https://salsa.debian.org/debian/ssmtp * **Wiki**: https://wiki.debian.org/sSMTP Mehr Videos von mir zu Mailservern *
weisheit.goos-habermann.de
--- ### Konfigurationsvariablen  Die Variablen verwenden wir gleich für das Schreiben der **Konfigurationsdatei** oder zum Aufruf der **
commonInstall
**-Installationsroutine. ```bash # Konfigurationsvariablen setzen SSMTP_email="mein-mailkonto@meine-domain.de" SSMTP_host="smtp.meine-domain.de" SSMTP_port="587" SSMTP_password="ganzGeheim" # Pakete installieren (händische Installation) apt-get -y install ssmtp mailutils ``` **Wissensteil**: Mehr zum
Port 587
und
STARTTLS
. --- ### Zugangsdatendatei  Grundlegende Konfiguration von sSMTP: ```bash echo "root=$SSMTP_email hostname=$(hostname) mailhub=$SSMTP_host:$SSMTP_port UseSTARTTLS=YES AuthUser=$SSMTP_email AuthPass=$SSMTP_password FromLineOverride=yes" > /etc/ssmtp/ssmtp.conf # Wichtig, damit auch nicht-root-Benutzer # Mails verschicken können chmod 640 /etc/ssmtp/ssmtp.conf chown root:mail -R /etc/ssmtp ``` * **root**: Welcher Systembenutzer bekommt Mails für Benutzer, die eine ID unter 1000 haben? * **hostname**: Name des absendenden Servers * **mailhub**: Externer SMTP-Server * **FromLineOverride**=yes: Erlaubt dem Benutzer, einen eigenen Absender zu setzen --- ### Zugriff auf sSMTP  ***revaliases*** legt fest, welche lokalen Benutzer eMails senden dürfen: ```bash echo "root:$SSMTP_email:$SSMTP_host [meinBenutzer]:$SSMTP_email:$SSMTP_host " > /etc/ssmtp/revaliases # Der Systembenutzer muß auch in der Gruppe "mail" sein, # da die Zugangsdatendatei ssmtp.conf nur von root und # Mitgliedern der Gruppe "mail" gelsesen werden kann usermod -a -G mail [meinBenutzer] ``` Danach ***[meinBenutzer]*** **ab-** und wieder **anmelden**, damit die **geänderten Gruppenzugehörigkeiten** geladen werden. --- ### commonInstall  Mit der passende **
commonInstall
**-Installationsroutine und den Variablen vom Anfang könnt Ihr sSMTP installieren und einrichten: ```bash # Installationsroutinen laden wget https://goos-habermann.de/commonInstall.inc\ -O /tmp/commonInstall.inc . /tmp/commonInstall.inc # sSMTP installieren + einrichten CI_setupStratoMailer ```  **Achtung**: Ihr verwendet commonInstall auf **eigene Gefahr**. Bei der Verwendung können **alle Daten verlorengehen** oder das System nicht mehr booten. Vor dem Ausführen das Skript **sorgfältig lesen** und **verstehen** und nur dann verwenden, wenn Ihr Euch der **Konsequenzen bewußt** seid. --- ### Testen  Nach dem Einrichten können wir, unter einem Systembenutzer der Gruppe ***mail***, eine Testmail mit dem Kommandozeilenprogramm *mail* verschicken: ```bash echo [Nachrichtentext] | mail -s [Betreff] [Ziel-eMail] ``` --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de