Es gibt Fälle, in denen soll das eigene
Linux-System
Mails verschicken können. Ein Beispiel wäre etwa Cron, das im Fall von
Problemen Status-Mails verschicken kann. Oder man hat einen
Webserver installiert, über den mittels der
mail-Funktion von PHP Mails verschickt werden sollen usw., doch extra dafür schwere Brocken wie
Postfix,
Sendmail und Co. einzurichten wäre zu aufwändig. Noch dazu ist es für “Privatleute” ohne richtigen
Server,
ohne ordentliche Zertifikate und ohne feste IPs sowieso nicht möglich
direkt Mails zu verschicken, da die meisten Mail-Server den Empfang von
solchen Servern sowieso ablehnen, sonst wäre ja SPAM-Versender Tür und
Tor geöffnet. Für den Privatmann gilt es daher eigene Mails an einen
SMTP-Relay-Server weiterzuleiten (also den SMTP-Mailserver eines “ordentlichen” Anbieters) und dafür reicht auch ein simples Tool wie ssmtp.

ssmtp ist kein ausgewachsender MTA (
Mail-Transfer-Agent) wie Postfix,
Exim
oder eben Sendmail, sondern einfach nur ein kleines Tool das eine Mail
vom System entgegennimmt und zu einem zuvor konfigurierten Mailserver
weiterleitet. Wie eingangs gesagt, müsste man mit einem Heimserver einen
MTA wie Postfix sowieso als “Satellite System” konfigurieren und Mails
über einen Smarthost leiten, daher kann man sich den Aufwand mit der
Einrichtung des Dienstes gleich sparen. ssmtp will erst einmal aus den
Paketquellen installiert werden…
sudo apt-get install ssmtp
…danach gibt es mit den Dateien
/etc/ssmtp/ssmtp.conf und
/etc/ssmtp/revaliases
zwei Konfigurationsdateien, die an die eigene Situation angepasst
werden wollen. Ich fange mal mit der ssmtp.conf an, in der der zu
nutzende Mailserver eingetragen wird.
sudo gedit /etc/ssmtp/ssmtp.conf
Als Beispiele führe ich die Konfiguration an, um Mails über
Google
bzw. GMX zu verschicken. Wie ihr seht steht das Passwort im Klartext in
der Konfigurationsdatei. Ich würde daher für den eigenen Mailserver
einen extra Account bei einem Freemailer einrichten, oder bei Google die
2-Step Verification
aktivieren, so dass man ein Passwort extra für ssmtp erzeugen kann.
Somit stünden dann die wichtigsten Zugangsdaten nicht mehr im Klartext
auf der Platte.
Google Mail
root=EIN.BEISPIEL@gmail.com
mailhub=smtp.gmail.com:587
hostname=EIN.BEISPIEL@gmail.com
UseSTARTTLS=YES
AuthUser=EIN.BEISPIEL
AuthPass=GEHEIM
FromLineOverride=YES
GMX.net
root=EIN.BEISPIEL@gmx.de
mailhub=mail.gmx.net:465
rewriteDomain=gmx.net
hostname=gmx.net
UseTLS=YES
AuthUser=EIN.BEISPIEL@gmx.DE
AuthPass=GEHEIM
FromLineOverride=NO
Passt
die FETT geschriebenen Passagen bitte an eure Situation an, die
restlichen Einstellungen solltet ihr direkt übernehmen können. Sobald
ihr die ssmtp.conf vollständig eingerichtet habt, könnt ihr festlegen
welcher User welchen Mailserver benutzen darf. Dies wird über die
revaliases-Datei festgelegt, öffnet auch diese daher wieder in einen
Editor.
sudo nano /etc/ssmtp/revaliases
Hier
tragt ihr nun im folgenden Format ein welcher Nutzer welchen Server
benutzen darf. In meinem Beispiel greife ich wieder Google Mail auf, die
FETT gedruckten Passagen müssten wieder angepasst werden.
root:EIN.BEISPIEL@gmail.com:smtp.gmail.com:587
www-data:EIN.BEISPIEL@gmail.com:smtp.gmail.com:587
OTTO:EIN.BEISPIEL@gmail.com:smtp.gmail.com:587
In
meinem Fall darf also “root”, der User des Webservers “www-data” und
der Benutzer “otto” Mails direkt vom System aus verschicken. Die zweite
Zeile könnt ihr natürlich weglassen, wenn bei euch gar kein Webserver
installiert ist, oder dieser gar keinen Zugriff auf ssmtp braucht.
Das
Ganze will natürlich nun auch getestet werden. Eine Möglichkeit ist es
direkt über ssmtp eine Mail zu schicken. Der folgende Befehl schickt
etwa eine leere Mail an echo@tu-berlin.de, das diese wiederum gleich
wieder zurück zu euch schickt. So könnt ihr bequem testen, ob eure
Einstellungen funktioniert haben. Zudem bewirkt der Schalter “-v”, dass
bei der Aktion Rückgaben ins Terminal geschrieben werden.
ssmtp -v echo@tu-berlin.de
Alternativ
könntet ihr natürlich auch via mutt oder mailx direkt vollständige
Mails verschicken. ssmtp ersetzt sicherlich nicht einen ordentlich
aufgesetzten Postfix-Dienst auf einem richtigen Server, doch wenn die
eigenen Workstation zuhause einfach nur in der Lage sein soll ein paar
Status-Mails in Netz zu senden, dann ist ssmtp ein ganz praktisches
Werkzeug.