Stalwart Mailserver & Sendmail auf Systemebene – wie geht das zusammen?

Auf den Chemnitzer Linuxtagen 2026 habe ich den Vortrag „E-Mail, Kalender, Kontakte und Dateien mit Stalwart“ gehalten (Video-Aufzeichnung ist hier verfügbar). Was ich dort noch nicht thematisiert habe war das Thema sendmail-Kompatibilität. Die wird auf dem System selbst benötigt damit Tools wie apticron, cron, mail, … u.v.m., die für ihre Benachrichtigungsmails einfach sendmail verwenden, ihre Mails auch ausgeliefert bekommen.

Stalwart ist kein Sendmail-Ersatz!

Stalwart bringt kein sendmail-kompatibles Binary / Skript mit. Mails die auf diesem Weg ausgeliefert werden bleiben im Default-MTA des Systems liegen wenn Stalwart installiert ist! Da muss also eine andere Lösung her.

Stalwart „battelt“ sich ohnehin mit Exim oder Postfix

Standardmäßig ist z.B. auf einem Debian System (ich habe da zum aktuellen Zeitpunkt die Version 13 am Start) der MTA Exim installiert. Der kann zwar durch Postfix ersetzt werden, was aber nur vom Regen in die Traufe führt da beide z.B. den Port 25 für sich reklamieren. Den benötigt aber natürlich auch Stalwart.

In Debian ist Stalwart bislang nicht paketiert! Damit ist Stalwart aber auch kein Ersatz für Exim oder Postfix die das zwingend benötigte Feature mail-transport-agent zur Verfügung stellen. Exim oder Postfix einfach zu deinstallieren ist somit schon mal nicht so einfach, außerdem wird noch ein sendmail-Ersatz benötigt.

msmtp als Lösung

Als eine mögliche Lösung bietet sich hier msmtp an. Es bietet in einem Debian-System

  • das benötigte Feature mail-transport-agent an,
  • kann also sauber Exim oder Postfix ersetzen,
  • ersetzt kompatibel sendmail,
  • leitet eingehende sendmail-Mail an ein zu definierendes Postfach weiter

Gesagt getan. Die Installation erfolgt mit:

┌── 12:55 - root@s3: [ ~ ]  
└─# apt install msmtp msmtp-mta bsd-mailx

Dabei wird Exim automatisch deinstalliert und ersetzt. Wurde nun Stalwart schon für mindestens eine Domain funktionsfähig konfiguriert, kann msmtp passend als MTA konfiguriert werden. Per sendmail eingehende Mails werden dann von msmtp an ein in Stalwart konfiguriertes Postfach bzw. Alias eines Postfachs weitergeleitet.

Die von mir im ersten Anlauf verwendete msmtp-Konfiguration liegt in der Datei /etc/msmtprc und sieht wie folgt aus:

defaults
auth           off
tls            off
aliases        /etc/aliases
domain         s3.grupp-web.de
source_ip      194.59.205.84
logfile        /var/log/msmtp

account local
from root@grupp-web.de
host 127.0.0.1
port 25

account default : local

Die wichtigsten Parameter:

  • domain: Wird beim EHLO-Kontakt mit Stalwart verwendet
  • source_ip: Diese IP (die öffentliche IP) statt 127.0.0.1 verwenden da die laut SPF-Record befugt ist Mails zu versenden. Das verbessert das Spam-Scoring
  • logfile: Die hier angegebene Datei ist in Apparmor freigegeben
  • aliases: Erlaubt die Verwendung der nicht gehashten Aliases-Datei um z.B. lokale Mails an root mit einer externe Aliase-Adresse zu versehen die msmtp dann als To:-Adresse verwendet.
  • Der Account local verweist auf den lokal laufenden SMTP-Listener von Stalwart

Schreibe einen Kommentar