So installieren und konfigurieren Sie Sendmail unter Ubuntu
So installieren und konfigurieren Sie Sendmail unter Ubuntu zum Senden von E-Mails über einen E-Mail-Server, der die E-Mail-Zustellung weiterleitet oder weiterleitet.
Sendmail ist ein Opensource Mail Transfer Agent (MTA), der zum Weiterleiten von E-Mails über Server oder Shell-Befehle verwendet wird. Sie können SMTP auch mit Sendmail konfigurieren.
In diesem Handbuch erfahren Sie, wie Sie Sendmail unter Ubuntu installieren und einrichten. Außerdem richten Sie SMTP ein und konfigurieren es mit PHP.
Bestes Hosting für Ihr Unternehmen
Plattform | Bewertungen | Preise |
---|---|---|
Cloudways | ★★★★★ | $10 |
Kinsta – Google Cloud | ★★★★★ | $30 |
Aktualisieren Sie die Serverpakete
SSH in Ihrem Server und aktualisieren Sie die Pakete auf die neueste Version.
sudo apt updatesudo apt upgrade
Sendmail installieren
Sendmail ist im Ubuntu-Repository verfügbar, sodass Sie es direkt mit dem Befehl apt install
installieren können.
sudo apt install sendmail
Hostname konfigurieren
Bearbeiten Sie die /etc/hosts
-Datei und fügen Sie Ihren Hostnamen hinzu.
sudo nano /etc/hosts
Fügen Sie in der Zeile, die mit 127.0.0.1
beginnt, das hostname
am Ende hinzu, wie es unten aussieht. Dies sollte in einer einzigen Zeile erfolgen.
127.0.0.1 localhost hostname
SMTP konfigurieren
Neues Verzeichnis in /etc/mail
für SMTP-Konfigurationen erstellen.
sudo mkdir /etc/mail/authinfo
Korrekte Berechtigungen einrichten.
sudo chmod -R 700 /etc/mail/authinfo
Erstellen Sie eine neue Datei für Ihre SMTP-Authentifizierung im neu erstellten Verzeichnis.
cd /etc/mail/authinfosudo nano smtp-auth
Fügen Sie die folgende Zeile ein und ersetzen Sie die E-Mail-Adresse durch Ihre Login-E-Mail und das Passwort durch Ihr Passwort.
AuthInfo: "U:root" "I:email-address" "P:password"
Drücken Sie CRTL + X
gefolgt von Y
und ENTER
, um die Datei zu speichern und zu beenden.
Erstellen Sie eine Hash-Datenbankzuordnung für die oben erstellte Authentifizierung.
sudo makemap hash smtp-auth < smtp-auth
SMTP konfigurieren
Navigieren Sie zum sendmail-Konfigurationsverzeichnis und bearbeiten Sie die sendmail.mc
-Datei.
cd /etc/mailsudo nano sendmail.mc
Fügen Sie die folgenden Konfigurationen direkt nach der Zeile MAILER _DEFINITIONS hinzu.
Ersetzen Sie smtp-host
durch Ihren SMTP-Hostnamen.
define(`SMART_HOST',`')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnldefine(`ESMTP_MAILER_ARGS', `TCP $h 587')dnldefine(`confAUTH_OPTIONS', `A p')dnlTRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlFEATURE(`authinfo',`hash -o /etc/mail/authinfo/smtp-auth.db')dnl
Die Konfiguration sollte wie im folgenden Screenshot aussehen.
Speichern Sie nun die Datei und beenden Sie den Editor.
Sendmail-Konfiguration neu erstellen
Sobald die Konfiguration abgeschlossen ist, müssen Sie die Sendmail-Konfiguration mit dem Befehl make
neu erstellen.
cd /etc/mailmake
Sobald die Konfiguration wiederhergestellt ist, müssen Sie Sendmail
Restart Sendmail
Restart Sendmail mit dem folgenden Befehl neu starten.
sudo /etc/init.d/sendmail restart
Jetzt können Sie E-Mails mit SMTP senden.
Zusätzliche Konfigurationen
Konfiguration mit PHP
Um Sendmail mit PHP zu verwenden, müssen Sie den Sendmail-Pfad in Ihrer php.ini
-Datei angeben.
sudo nano /etc/php/version/fpm-or-apache2/php.ini
Fügen Sie am Ende der Datei Folgendes hinzu.
sendmail_path= /usr/sbin/sendmail -t -i
Starten Sie Apache oder PHP-FPM neu, damit die Änderungen wirksam werden.
sudo service apache2 restartorsudo service php8.0-fpm restart
Sendmail SMTP-Konfiguration ohne Auth
Falls Sie Ihre Server-IP für SMTP auf die Whitelist gesetzt haben und E-Mails ohne Authentifizierung senden können, können Sie der folgenden Methode folgen.
Sie müssen die smtp-auth
-Datei, die wir oben erstellt haben, nicht erstellen.
Sie können die sendmail.mc
-Datei direkt bearbeiten und die folgenden Änderungen vornehmen.
cd /etc/mailsudo nano sendmail.mc
Fügen Sie die folgenden Konfigurationen zur letzten hinzu.
Ersetzen Sie smtp-host
durch Ihren SMTP-Hostnamen.
define(`SMART_HOST',`smtp-host')dnldefine(`RELAY_MAILER', `esmtp')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Speichern Sie die Datei, erstellen Sie die Konfiguration neu und starten Sie Sendmail neu.
cd /etc/mailmakesudo /etc/init.d/sendmail restart
Fazit
Jetzt haben Sie gelernt, wie Sie Sendmail mithilfe von SMTP unter Ubuntu installieren und konfigurieren.