MTA für System-Mails einrichten (ubuntu/debian)
MTA für System-Mails einrichten (ubuntu/debian)
Diese Anleitung wurde getestet für einen Host, der sich hinter einem NAT befindet und Mails per SMTP an einen "echten" Mailserver weiterleiten soll.
MTA installieren:
sudo apt-get install exim4sudo dpkg-reconfigure exim4-config
Internet-Server auswählen:
E-Mail-Name des Systems: Hier den Hostname des Zielrechners angeben! z.B. example.com
IP-Adressen für eingehende Verbindungen: 127.0.0.1 ; ::1
Weitere Ziele, für die E-Mails angenommen werden sollen: leer
Domänen, für dieser Rechner E-Mails weiterleitet (Relay): leer
Rechner, für die E-Mails weitergeleitet werden (Relay): leer
DNS-Anfragen minimieren: Nein
Versandart bei lokaler E-Mail-Zustellung: Maildir-Format
Einstellungen auf kleine Dateien aufteilen: Ja
sudo vim etc/aliases
root: youruser
sudo newaliases
cd ~
vim .forward
example@example.com
Test: echo "hallo2"|mail root
Leichtgewichtiger MTA zum Verschicken von Systemmeldungen
Ein MTA leitet zu versendende E-Mails typischerweise per (E)SMTP an den Mailserver des Empfängers weiter. Zur Spam-Vermeidung prüft der Mailserver des Empfängers typischerweise manche Eigenschaften durch, die von einem korrekt eingerichteten Mailserver üblicherweise zu erwarten sein sollten. Insbesondere sollte der Mailserver der Absenderdomain mittels DNS über das Internet erreichbar sein.
Diese und vergleichbare Anforderungen aus der Spam-Vermeidung treffen nicht unbedingt auf das System zu, auf dem der MTA installiert ist. Dieser ist ggf. hinter einem NAT und nicht aus dem Internet erreichbar. Ggf. möchte man nur ein paar System-Meldungen per E-Mail verschicken und nicht einen vollumfänglichen Mailserver inklusive DNS-Eintrag und Erreichbarkeit aus dem Internet einrichten. Eigentlich benötigt man nur die Funktionalität eines gewöhnlichen Mail-Clients, der Mails über ein gewöhnliches Mail-Konto verschickt. Aus diesem Grund kann es sinnvoll sein, ein bestehendes E-Mail-Konto von einem etablierten Mailserver zu verwenden und Systemnachrichten an diesen per SMTP mit Authentifizierung weiterzuleiten.
Ein extrem schlanker Ersatz für einen vollwertigen MTA ist ssmtp
. ssmtp
läuft nicht als Dienst und wird nur gestartet, wenn eine E-Mail an root
(oder einen anderen Systembenutzer) vorliegt.
Installation von ssmtp
:
sudo apt-get install ssmtp
Konfiguration:
sudo vim /etc/ssmtp/revaliases
Zeile einfügen (hier verschlüsselter Mailversand über Port 465, alternativ 587 oder 25):
root:theadmin@example.com:mail.example.com:465
Im Folgenden wird ein gewöhnliches E-Mail-Konto bei irgend einem beliebigen Provider verwendet. Da das zugehörige Passwort im Klartext in der ssmtp.conf
steht, muss man dringend darauf achten, dass nur root
diese Datei lesen darf:
sudo touch /etc/ssmtp/ssmtp.conf
sudo chown root:root /etc/ssmtp/ssmtp.conf
sudo chmod 600 /etc/ssmtp/ssmtp.conf
sudo vim /etc/ssmtp/ssmtp.conf
Zeilen einfügen:
root=theadmin@example.com
mailhub=mail.example.com:465
hostname=server.example.com
UseTLS=YES
AuthUser=theadmin
AuthPass=theadminpassword
Optional: Einen Namen verwenden, der im E-Mail-Client angezeigt wird. Diese Änderung ist jedoch auf Systemebene gültig, da sie in der /etc/passwd hinterlegt wird.
chfn -f "root on somehost" root
Der Mailversand erfolgt nun wie bei einem gewöhnlichen Mail-Client (wie z. b. Thunderbird) verschlüsselt und mit Authentifizierung. Entsprechend kann nahezu jeder Mailserver und jede Zieladresse verwendet werden, genau wie bei einem gewöhnlichen Mail-Client.