Ein schlanker, benutzerfreundlicher Mail Transfer Agent für Linux und Unix-Systeme – einfach, sicher und ideal für Skripte, Cron-Jobs und Systembenachrichtigungen.
msmtp ist ein kompatible zu sendmail geschriebener Mail Transfer Agent (MTA). Es nimmt Nachrichten vom lokalen System (z. B. über das mail-Kommando oder PHP) und leitet sie an einen externen SMTP-Server weiter – ohne selbst Mails anzunehmen oder Zustellung zu übernehmen.
Skripte, Logs, Cron-Jobs, Mail-Client (Send-Ersatz) und Systembenachrichtigungen via SMTP.
„Send-only" – msmtp ist ein Mail Relay, kein vollwertiger Server. Es leitet nur weiter, empfängt nichts.
Ersetzt /usr/sbin/sendmail im Symlink-Verfahren – Anwendungen wissen nichts davon.
msmtp ist in allen gängigen Distributionen enthalten. Installieren Sie es über den Paketmanager Ihrer Wahl:
sudo apt update
sudo apt install msmtp msmtp-mta mailutils
Das Paket msmtp-mta legt einen Symlink /usr/sbin/sendmail → /usr/bin/msmtp an.
sudo pacman -S msmtp
sudo apk add msmtp
brew install msmtp
git clone https://github.com/msmtp/msmtp.git
cd msmtp
meson setup build --prefix=/usr/local
ninja -C build
sudo ninja -C build install
Die Konfiguration erfolgt über die Datei ~/.msmtprc (benutzerspezifisch) oder /etc/msmtprc (systemweit). Die Datei sollte nur für den Besitzer lesbar sein.
# Rechte setzen!
chmod 600 ~/.msmtprc
defaults
account default
host smtp.example.com
port 587
tls on
tls_starttls on
auth on
user deine@email.de
password DeinPasswort
from deine@email.de
# ~/.msmtprc — Komplettes Beispiel mit mehreren Accounts
defaults
# Globale Einstellungen
logfile ~/.msmtp.log
syslog on
aliases /etc/aliases
# Gmail
account gmail
host smtp.gmail.com
port 587
tls on
tls_starttls on
auth on
user maxbeispiel@gmail.com
password AppPasswort123
from max@beispiel.de
tls_certcheck on
# Unternehmens-SMTP
account firm
host smtp.firma.de
port 465
tls on
tls_starttls off
auth login
user max@firma.de
password FirmenPasswort
from max@firma.de
# Default-Account wählen
account default : gmail
| Parameter | Beschreibung | Typisch |
|---|---|---|
| host | SMTP-Server-Hostname | smtp.gmail.com |
| port | Port (587=STARTTLS, 465=SMTPS) | 587 |
| tls | TLS generell aktivieren | on |
| auth | Authentifizierungsmethode | plain / login |
| user | SMTP-Login-Name | email@... |
| from | Absender-Adresse (Envelope) | name@domain |
| logfile | Logdatei für msmtp-Nachrichten | ~/.msmtp.log |
# E-Mail testen
echo "Test-Nachricht" | msmtp -d user@example.com
# Mit Header
echo -e "Subject: Test\n\nHier steht der Body" | msmtp user@example.com
# Debug-Modus
msmtp --debug user@example.com < nachricht.txt
msmtp lässt sich nahtlos in viele Linux-Tools einbinden:
In php.ini: sendmail_path = /usr/bin/msmtp -t
Log-Warnungen per Mail: MAILTO="max@beispiel.de"
SMTPLib mit sendmail-Transport via msmtp als Backend.
Einfach: echo "msg" | msmtp user@host
Was msmtp von anderen MTAs unterscheidet:
tls_certcheck und CA-Store./usr/sbin/sendmail → msmtp – keine Anpassungen nötig./etc/aliases-ähnliche Adressumleitung (wie bei sendmail).msmtpd (derzeit im Experiment) kann auch Mails abrufen.Offizielle und zusätzliche Ressourcen rund um msmtp: