Wie konfiguriert man Sendmail auf Ubuntu?

Veröffentlicht 21. Januar 2026

Problem: Sendmail Auf Ubuntu Konfigurieren

Sendmail ist ein Mail Transfer Agent für Linux-Systeme, aber die Einrichtung auf Ubuntu kann schwierig sein. Eine korrekte Konfiguration ist nötig, damit E-Mails richtig gesendet und empfangen werden können und Zustellungsprobleme oder Sicherheitslücken vermieden werden.

Sendmail Auf Ubuntu Installieren

Schritte Zur Installation Von Sendmail

So installieren Sie Sendmail auf Ubuntu:

  1. Öffnen Sie ein Terminal auf Ihrem Ubuntu-System.

  2. Installieren Sie Sendmail mit apt-get:

    sudo apt-get install sendmail
  3. Geben Sie Ihr System-Passwort ein, wenn Sie dazu aufgefordert werden.

  4. Warten Sie, bis die Installation abgeschlossen ist.

  5. Prüfen Sie, ob Sendmail installiert ist:

    sendmail -v

    Dies zeigt die Version von Sendmail an, falls die Installation korrekt war.

  6. Überprüfen Sie den Status des Sendmail-Dienstes:

    sudo systemctl status sendmail

    Dies zeigt an, ob Sendmail aktiv ist und läuft.

Nach diesen Schritten haben Sie Sendmail auf Ihrem Ubuntu-System installiert.

Tipp: Sendmail Konfigurieren

Nach der Installation von Sendmail müssen Sie es möglicherweise konfigurieren. Bearbeiten Sie dazu die Sendmail-Konfigurationsdatei:

sudo nano /etc/mail/sendmail.mc

Nehmen Sie Ihre Änderungen vor und erstellen Sie die Konfiguration neu:

sudo make -C /etc/mail
sudo systemctl restart sendmail

Grundlegende Sendmail-Konfiguration

Sendmailconfig Ausführen

Der Befehl sendmailconfig richtet die Basiskonfiguration für Sendmail ein. Hier ist, was Sie über diesen Befehl wissen müssen:

  • Um sendmailconfig auszuführen, verwenden Sie:

    sudo sendmailconfig
  • Dieser Befehl aktualisiert die Konfigurationsdateien von Sendmail.

  • Er stellt Fragen zu Ihrer Mail-Einrichtung und erstellt die Konfiguration basierend auf Ihren Antworten.

  • Das Tool zielt darauf ab, eine funktionsfähige Konfiguration für gängige Setups zu erstellen.

  • Es aktualisiert Dateien wie /etc/mail/sendmail.cf und /etc/mail/submit.cf.

  • Der Befehl fragt möglicherweise nach dem vollqualifizierten Domainnamen (FQDN) Ihres Systems.

  • Er könnte Sie auffordern, zwischen IPv4- und IPv6-Protokollen zu wählen.

  • Sie müssen möglicherweise Änderungen an bestehenden Konfigurationsdateien bestätigen.

Der Hauptzweck dieses ersten Konfigurationsschritts ist:

  • Eine funktionierende Sendmail-Basiskonfiguration einzurichten.

  • Benutzern zu helfen, die mit der Konfigurationsstruktur von Sendmail nicht vertraut sind.

  • Einen Ausgangspunkt für weitere Anpassungen zu schaffen, falls nötig.

  • Die Wahrscheinlichkeit von Fehlkonfigurationen zu verringern, die Sicherheits- oder Funktionsprobleme verursachen könnten.

Denken Sie daran: Obwohl sendmailconfig einen guten Ausgangspunkt bietet, müssen Sie möglicherweise weitere Änderungen für spezifische Anforderungen oder erweiterte Setups vornehmen.

Tipp: Sichern Sie Ihre Konfiguration

Bevor Sie sendmailconfig ausführen, ist es ratsam, Ihre bestehenden Sendmail-Konfigurationsdateien zu sichern. Sie können dies tun, indem Sie die Hauptkonfigurationsdateien kopieren:

sudo cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.backup
sudo cp /etc/mail/submit.cf /etc/mail/submit.cf.backup

So können Sie Änderungen bei Bedarf rückgängig machen.

Sendmail-Konfigurationsdateien Finden Und Bearbeiten

Wichtige Konfigurationsdateien

Sendmail verwendet mehrere Konfigurationsdateien, um sein Verhalten zu steuern. Die Hauptdateien, die Sie kennen sollten, sind:

  • /etc/mail/sendmail.conf: Diese Datei enthält allgemeine Einstellungen für Sendmail. Sie steuert Optionen wie die maximale Nachrichtengröße, die Anzahl der Queue-Runner und den Speicherort der Sendmail-Verzeichnisse.

  • /etc/cron.d/sendmail: Diese Datei richtet geplante Aufgaben für Sendmail ein. Sie enthält Einträge zum Ausführen der Queue und zum Aktualisieren der Sendmail-Datenbanken in Intervallen.

  • /etc/mail/sendmail.mc: Dies ist die Hauptkonfigurationsdatei für Sendmail. Sie ist in der m4-Makrosprache geschrieben und definiert die meisten Betriebsparameter von Sendmail. Nach dem Bearbeiten dieser Datei müssen Sie sie in sendmail.cf kompilieren, damit die Änderungen wirksam werden.

So bearbeiten Sie diese Dateien:

  1. Öffnen Sie ein Terminal auf Ihrem Ubuntu-System.

  2. Verwenden Sie einen Texteditor mit Root-Rechten, um die Datei zu öffnen. Zum Beispiel:

    sudo nano /etc/mail/sendmail.mc
  3. Nehmen Sie Ihre Änderungen in der Datei vor.

  4. Speichern Sie die Datei und schließen Sie den Editor.

  5. Falls Sie sendmail.mc bearbeitet haben, kompilieren Sie sie zu sendmail.cf:

    sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
  6. Starten Sie Sendmail neu, um die Änderungen anzuwenden:

    sudo systemctl restart sendmail

Denken Sie daran, diese Dateien zu sichern, bevor Sie Änderungen vornehmen. So können Sie zu einer funktionierenden Konfiguration zurückkehren, falls nötig.

Tipp: Verwenden Sie Versionskontrolle Für Das Konfigurationsmanagement

Erwägen Sie die Verwendung eines Versionskontrollsystems wie Git zur Verwaltung Ihrer Sendmail-Konfigurationsdateien. Dieser Ansatz ermöglicht es Ihnen, Änderungen zu verfolgen, einfach zu früheren Versionen zurückzukehren und mit Teammitgliedern bei der Verwaltung komplexer Konfigurationen zusammenzuarbeiten. Hier ist ein grundlegender Workflow:

  1. Initialisieren Sie ein Git-Repository in Ihrem /etc/mail-Verzeichnis:

    cd /etc/mail
    sudo git init
  2. Fügen Sie Ihre Konfigurationsdateien zum Repository hinzu:

    sudo git add sendmail.mc sendmail.cf
  3. Committen Sie Ihre Änderungen:

    sudo git commit -m "Initial commit of Sendmail configuration"
  4. Erstellen Sie vor Änderungen einen neuen Branch:

    sudo git checkout -b new-config-changes
  5. Nach dem Vornehmen und Testen Ihrer Änderungen committen Sie diese:

    sudo git commit -am "Updated SMTP relay settings"
  6. Wenn die Änderungen wie erwartet funktionieren, mergen Sie sie zurück in den Hauptbranch:

    sudo git checkout main
    sudo git merge new-config-changes

Diese Methode bietet ein Sicherheitsnetz und eine klare Historie Ihrer Konfigurationsänderungen.

Sendmail-Konfiguration Testen

Eine Test-E-Mail Senden

Nach der Einrichtung von Sendmail testen Sie, ob es korrekt funktioniert. Sie können eine Test-E-Mail über die Kommandozeile senden. So geht's:

  1. Öffnen Sie ein Terminal auf Ihrem Ubuntu-System.

  2. Verwenden Sie diesen Befehl, um eine Test-E-Mail zu senden:

    echo "Dies ist eine Test-E-Mail von Sendmail" | sendmail -v ihre_email@example.com

    Ersetzen Sie "ihre_email@example.com" durch Ihre E-Mail-Adresse.

  3. Das Flag -v zeigt den E-Mail-Übertragungsprozess an.

  4. Überprüfen Sie Ihren E-Mail-Posteingang auf die Testnachricht.

So bestätigen Sie die E-Mail-Zustellung:

  1. Suchen Sie nach der Test-E-Mail in Ihrem Posteingang.

  2. Falls Sie sie nicht sehen, prüfen Sie Ihren Spam-Ordner.

  3. Überprüfen Sie die E-Mail-Header, um zu bestätigen, dass sie über Ihren Sendmail-Server gesendet wurde.

  4. Überprüfen Sie die Sendmail-Logs auf Fehlermeldungen:

    sudo tail -f /var/log/mail.log

    Dieser Befehl zeigt Echtzeit-Log-Einträge an.

Falls die Test-E-Mail nicht ankommt oder Sie Fehler in den Logs sehen, überprüfen Sie Ihre Sendmail-Konfiguration oder prüfen Sie Ihre Netzwerkeinstellungen.

Tipp: Verwendung Eines Test-Skripts

Erstellen Sie ein einfaches PHP-Skript, um die Sendmail-Funktionalität zu testen:

<?php
$to = "ihre_email@example.com";
$subject = "Test-E-Mail von Sendmail";
$message = "Dies ist eine Test-E-Mail, die mit PHP und Sendmail gesendet wurde.";
$headers = "From: webmaster@example.com";

if(mail($to, $subject, $message, $headers)) {
    echo "E-Mail erfolgreich gesendet.";
} else {
    echo "E-Mail-Versand fehlgeschlagen.";
}
?>

Speichern Sie dieses Skript und führen Sie es über Ihren Webserver aus, um die Sendmail-Integration mit PHP zu testen.

Fehlersuche Bei Der E-Mail-Zustellung

Falls Ihre Test-E-Mail nicht ankommt, probieren Sie diese Schritte:

  1. Überprüfen Sie Ihre Firewall-Einstellungen, um sicherzustellen, dass Port 25 (SMTP) offen ist.

  2. Stellen Sie sicher, dass Ihre DNS-Einstellungen korrekt sind.

  3. Überprüfen Sie die Sendmail-Queue auf feststeckende Nachrichten:

    sudo mailq
  4. Falls Nachrichten feststecken, versuchen Sie die Queue zu leeren:

    sudo sendmail -q

Diese Schritte können helfen, häufige Probleme zu finden, die die E-Mail-Zustellung verhindern.

SMTP-Relay Zu Sendmail Hinzufügen

SMTP-Authentifizierung Einrichten

Um SMTP-Relay zu Sendmail hinzuzufügen, müssen Sie die SMTP-Authentifizierung einrichten. Dieser Prozess beinhaltet das Erstellen eines Authentifizierungsverzeichnisses und das Generieren einer Authentifizierungsdatenbank. So geht's:

  1. Erstellen Sie ein Authentifizierungsverzeichnis:

    sudo mkdir /etc/mail/auth
    sudo chmod 700 /etc/mail/auth

    Dies erstellt ein Verzeichnis zum Speichern von Authentifizierungsinformationen.

  2. Erstellen Sie eine Datei zum Speichern Ihrer SMTP-Server-Zugangsdaten:

    sudo nano /etc/mail/auth/client-info
  3. Fügen Sie Ihre SMTP-Server-Informationen zur Datei hinzu:

    AuthInfo:ihr.smtp.server "U:benutzername" "P:passwort" "M:PLAIN"

    Ersetzen Sie "ihr.smtp.server", "benutzername" und "passwort" durch Ihre tatsächlichen SMTP-Server-Details.

  4. Generieren Sie die Authentifizierungsdatenbank:

    sudo makemap hash /etc/mail/auth/client-info < /etc/mail/auth/client-info

    Dieser Befehl erstellt eine Datenbankdatei, die Sendmail verwenden kann.

  5. Setzen Sie die korrekten Berechtigungen für die Dateien:

    sudo chmod 600 /etc/mail/auth/client-info
    sudo chmod 600 /etc/mail/auth/client-info.db

    Dies beschränkt den Zugriff auf diese Dateien.

Nach Abschluss dieser Schritte haben Sie die Authentifizierung für SMTP-Relay eingerichtet. Der nächste Schritt ist, Ihre Sendmail-Konfiguration zu ändern, um diese Authentifizierung beim Senden von E-Mails über Ihren SMTP-Server zu verwenden.

Tipp: Sichern Sie Ihre Authentifizierungsinformationen

Um die Sicherheit zu erhöhen, können Sie Ihre client-info-Datei verschlüsseln:

  1. Installieren Sie GPG:

    sudo apt-get install gnupg
  2. Generieren Sie einen GPG-Schlüssel:

    gpg --gen-key
  3. Verschlüsseln Sie die client-info-Datei:

    gpg -e -r "Ihr Name" /etc/mail/auth/client-info
  4. Löschen Sie die Originaldatei:

    sudo shred -u /etc/mail/auth/client-info

Dieser Ansatz fügt Ihren SMTP-Zugangsdaten Verschlüsselung hinzu und macht sie sicherer.

Die Datei sendmail.mc Ändern

SMTP-Konfiguration Hinzufügen

Um Sendmail so einzurichten, dass es Ihr SMTP-Relay verwendet, müssen Sie die Datei sendmail.mc ändern. Diese Datei enthält die Haupteinstellungen für Sendmail. So fügen Sie die SMTP-Konfiguration hinzu:

  1. Öffnen Sie die Datei sendmail.mc:

    sudo nano /etc/mail/sendmail.mc
  2. Fügen Sie diese Zeilen vor dem Abschnitt MAILER_DEFINITIONS hinzu:

    define(`SMART_HOST',`ihr.smtp.server')dnl
    define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
    define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    FEATURE(`authinfo',`hash -o /etc/mail/auth/client-info.db')dnl

    Ersetzen Sie 'ihr.smtp.server' durch Ihre SMTP-Server-Adresse.

  3. Speichern und schließen Sie die Datei.

Nach dem Hinzufügen dieser Zeilen müssen Sie die Datei sendmail.cf aktualisieren. Sendmail liest diese Datei beim Start. So aktualisieren Sie sie:

  1. Führen Sie diesen Befehl aus:

    sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

    Dieser Befehl wandelt die Datei sendmail.mc in sendmail.cf um.

  2. Starten Sie Sendmail neu, um die Änderungen anzuwenden:

    sudo systemctl restart sendmail

Diese Änderungen weisen Sendmail an, Ihren SMTP-Server als Smart Host zu verwenden, Authentifizierungsmethoden zu aktivieren und die zuvor eingerichteten Authentifizierungsinformationen zu verwenden.

Testen Sie Ihr Setup nach diesen Änderungen, um sicherzustellen, dass Sendmail korrekt mit Ihrem SMTP-Relay funktioniert.

Tipp: SMTP-Konfiguration Überprüfen

Nach dem Ändern der Datei sendmail.mc und dem Neustart von Sendmail können Sie die SMTP-Konfiguration überprüfen, indem Sie die Mail-Logs prüfen. Verwenden Sie den folgenden Befehl, um die neuesten Log-Einträge anzuzeigen:

sudo tail -f /var/log/maillog

Suchen Sie nach Zeilen, die eine erfolgreiche Verbindung zu Ihrem SMTP-Server anzeigen, und nach Authentifizierungsnachrichten. Dies kann Ihnen helfen zu erkennen, ob es Probleme mit Ihrer Konfiguration gibt.

Sendmail-Dienst Neu Starten

Konfigurationsänderungen Anwenden

Nach dem Ändern Ihrer Sendmail-Konfiguration starten Sie den Sendmail-Dienst neu, um diese Änderungen anzuwenden. So geht's:

  1. Starten Sie den Sendmail-Daemon neu:

    sudo systemctl restart sendmail
  2. Für ältere Ubuntu-Versionen verwenden Sie:

    sudo service sendmail restart

So prüfen Sie, ob Sendmail mit den neuen Einstellungen läuft:

  1. Überprüfen Sie den Status des Sendmail-Dienstes:

    sudo systemctl status sendmail
  2. Suchen Sie nach "Active: active (running)" in der Ausgabe.

  3. Überprüfen Sie die Sendmail-Logs auf Fehlermeldungen:

    sudo tail -f /var/log/mail.log
  4. Senden Sie eine Test-E-Mail, um die neue Konfiguration zu bestätigen:

    echo "Test-E-Mail" | sendmail -v ihre_email@example.com
  5. Überwachen Sie die Mail-Queue, um zu sehen, ob E-Mails verarbeitet werden:

    mailq

Falls Sie Fehler sehen oder E-Mails nicht gesendet werden, überprüfen Sie Ihre Konfigurationsänderungen und prüfen Sie die Log-Dateien für weitere Informationen.

Testen Sie Ihr Sendmail-Setup nach jeder Konfigurationsänderung, um sicherzustellen, dass es korrekt funktioniert.

Tipp: Fehlersuche Bei Sendmail-Startproblemen

Falls Sendmail nach Konfigurationsänderungen nicht startet, probieren Sie diese Schritte:

  1. Prüfen Sie auf Syntaxfehler in Ihrer Konfigurationsdatei:
    sendmail -bt < /dev/null
  2. Überprüfen Sie das Sendmail-Log auf spezifische Fehlermeldungen:
    sudo grep sendmail /var/log/syslog
  3. Überprüfen Sie die Berechtigungen für Konfigurationsdateien:
    sudo ls -l /etc/mail/sendmail.cf

Sendmail Auf Ubuntu Absichern

Best Practices Für Sendmail-Sicherheit

Um Ihr Sendmail-Setup auf Ubuntu abzusichern, befolgen Sie diese Praktiken:

SPF (Sender Policy Framework) konfigurieren:

  1. Erstellen Sie einen SPF-Eintrag in den DNS-Einstellungen Ihrer Domain:

    v=spf1 ip4:ihre_server_ip ~all

    Ersetzen Sie "ihre_server_ip" durch die IP-Adresse Ihres Servers.

  2. Installieren Sie den SPF-Milter:

    sudo apt-get install spf-milter
  3. Fügen Sie diese Zeile zu Ihrer Datei sendmail.mc hinzu:

    INPUT_MAIL_FILTER(`spf', `S=local:/var/run/spfd.sock, F=T, T=R:2m')
  4. Starten Sie Sendmail neu, um die Änderungen anzuwenden.

DKIM (DomainKeys Identified Mail) konfigurieren:

  1. Installieren Sie OpenDKIM:

    sudo apt-get install opendkim opendkim-tools
  2. Generieren Sie DKIM-Schlüssel:

    sudo opendkim-genkey -D /etc/dkimkeys/ -d ihredomain.com -s default
  3. Fügen Sie dies zu Ihrer Datei sendmail.mc hinzu:

    INPUT_MAIL_FILTER(`opendkim', `S=local:/var/run/opendkim/opendkim.sock, F=T, T=R:2m')
  4. Konfigurieren Sie OpenDKIM und starten Sie den Dienst neu.

Anti-Spam-Maßnahmen implementieren:

  1. Installieren Sie SpamAssassin:

    sudo apt-get install spamassassin
  2. Fügen Sie dies zu Ihrer Datei sendmail.mc hinzu:

    MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass.sock, F=, T=C:15m;S:4m;R:4m;E:10m')
  3. Konfigurieren Sie SpamAssassin und starten Sie den Dienst neu.

  4. Aktualisieren Sie Ihre Spam-Regeln:

    sudo sa-update

Erstellen Sie Ihre Datei sendmail.cf neu und starten Sie Sendmail nach diesen Änderungen neu. Diese Maßnahmen helfen, Ihr E-Mail-System vor Spam und Spoofing-Versuchen zu schützen.

Tipp: Regelmäßige Sicherheitsüberprüfungen

Führen Sie Sicherheitsüberprüfungen Ihres Sendmail-Setups durch:

  1. Prüfen Sie auf Open Relay:

    telnet localhost 25
    HELO example.com
    MAIL FROM: test@example.com
    RCPT TO: test@example.com

    Falls dies erfolgreich ist, könnte Ihr Server ein Open Relay sein.

  2. Überprüfen Sie Ihre Zugriffskontrolllisten in /etc/mail/access.

  3. Halten Sie Ihr System und Sendmail mit den neuesten Sicherheitspatches aktuell.