Einführung
Postfix ist ein Mail Transfer Agent (MTA), eine Anwendung zum Senden und Empfangen von E-Mails. In diesem Tutorial installieren und konfigurieren wir Postfix so, dass es nur zum Senden von E—Mails von lokalen Anwendungen verwendet werden kann, dh von Anwendungen, die auf demselben Server installiert sind, auf dem Postfix installiert ist.
Warum sollten Sie das tun wollen?
Wenn Sie bereits einen E-Mail-Anbieter eines Drittanbieters zum Senden und Empfangen von E-Mails verwenden, müssen Sie keinen eigenen E-Mail-Server betreiben. Wenn Sie jedoch einen Cloud-Server verwalten, auf dem Sie Anwendungen installiert haben, die E-Mail-Benachrichtigungen senden müssen, ist das Ausführen eines lokalen, Nur-Senden-SMTP-Servers eine gute Alternative zur Verwendung eines 3rd-Party-E-Mail-Dienstanbieters oder zum Ausführen eines vollständigen SMTP-Servers.
In diesem Tutorial erfahren Sie, wie Sie Postfix als send-only-SMTP-Server installieren und konfigurieren.
Voraussetzungen
Um diesem Tutorial zu folgen, benötigen Sie:
-
Ein Ubuntu 16.04-Droplet, das mit dem Ubuntu 16.04-Handbuch zur Ersteinrichtung eingerichtet wurde, einschließlich des Erstellens eines Sudo-Nicht-Root-Benutzers
-
Ein gültiger Domainname wie
example.com
, der auf Ihren Server verweist. Sie können dies einrichten, indem Sie diesem Tutorial zum Hostnamen folgen
Beachten Sie, dass der Hostname Ihres Servers mit dieser Domain oder Subdomain übereinstimmen sollte. Sie können den Hostnamen des Servers überprüfen, indem Sie an der Eingabeaufforderung hostname
eingeben. Die Ausgabe sollte mit dem Namen übereinstimmen, den Sie dem Droplet beim Erstellen gegeben haben.
Schritt 1 – Installieren von Postfix
In diesem Schritt erfahren Sie, wie Sie Postfix installieren. Die effizienteste Methode zur Installation von Postfix und anderen Programmen, die zum Testen von E-Mails benötigt werden, ist die Installation des Pakets mailutils
.
Aktualisieren Sie zuerst die Paketdatenbank:
- sudo apt-get update
Schließlich installieren Sie Postfix. Durch die Installation von mailtuils
werden Postfix sowie einige andere Programme installiert, die für die Funktion von Postfix erforderlich sind.
- sudo apt install mailutils
Gegen Ende des Installationsvorgangs wird Ihnen ein Fenster angezeigt, das genau wie das in der Abbildung unten aussieht. Die Standardoption ist Internet-Site. Das ist die empfohlene Option für dieses Tutorial, also drücken Sie TAB
, dann ENTER
.
ein. Der System-E-Mail-Name sollte mit dem Namen übereinstimmen, den Sie dem Server beim Erstellen zugewiesen haben. Wenn eine Subdomain wie subdomain.example.com
angezeigt wird, ändern Sie sie in example.com
. Wenn Sie fertig sind, drücken Sie TAB
, dann ENTER
.
einFahren Sie nach erfolgreicher Installation mit Schritt zwei fort.
Schritt 2 – Konfigurieren von Postfix
In diesem Schritt erfahren Sie, wie Sie Postfix so konfigurieren, dass Anforderungen zum Senden von E-Mails nur von dem Server verarbeitet werden, auf dem es ausgeführt wird, dh von localhost.
Dazu muss Postfix so konfiguriert werden, dass es nur die Loopback-Schnittstelle überwacht, die virtuelle Netzwerkschnittstelle, über die der Server intern kommuniziert. Um die Änderung vorzunehmen, öffnen Sie die Postfix-Hauptkonfigurationsdatei mit nano
oder Ihrem bevorzugten Texteditor.
- sudo nano /etc/postfix/main.cf
Scrollen Sie bei geöffneter Datei nach unten, bis der folgende Abschnitt angezeigt wird.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .
Ändern Sie die Zeile, die inet_interfaces = all
lautet, in inet_interfaces = loopback-only
.
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .
Eine weitere Direktive, die Sie ändern müssen, ist mydestination
, die verwendet wird, um die Liste der Domänen anzugeben, die über den local_transport
Mail Delivery-Transport zugestellt werden. Standardmäßig sind die Werte ähnlich wie diese:
/etc/postfix/main.cf. . .mydestination = $myhostname, example.com, localhost.com, , localhost. . .
Die empfohlenen Standardwerte für dieses Szenario sind im folgenden Codeblock angegeben:
/etc/postfix/main.cf. . .mydestination = $myhostname, localhost.$mydomain, $mydomain. . .
Speichern und schließen Sie die Datei.
Wenn Sie mehrere Domänen auf einem einzigen Server hosten, können die anderen Domänen auch mit der Direktive mydestination
an Postfix übergeben werden. Um Postfix jedoch so zu konfigurieren, dass es skaliert und keine Probleme für ein solches Setup darstellt, sind zusätzliche Konfigurationen erforderlich, die den Rahmen dieses Artikels sprengen.
Starten Sie schließlich Postfix neu.
- sudo systemctl restart postfix
Schritt 3 — Testen des SMTP-Servers
In diesem Schritt testen Sie, ob Postfix mit dem Befehl mail
, der Teil des Pakets mailutils
ist, das in Schritt 1 installiert wurde, E-Mails an ein externes E-Mail-Konto senden kann.
Um eine Test-E-Mail zu senden, geben Sie:
- echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
Bei der Durchführung Ihrer eigenen Tests können Sie den Textkörper und die Betreffzeile unverändert verwenden oder nach Ihren Wünschen ändern. Verwenden Sie jedoch anstelle von your_email_address
eine gültige E-Mail-Adresse. Der Domain-Teil kann sein gmail.com
, fastmail.com
, yahoo.com
, oder einen anderen E-Mail-Dienstanbieter, den Sie verwenden.
Überprüfen Sie nun die E-Mail-Adresse, an die Sie die Testnachricht gesendet haben. Sie sollten die Nachricht in Ihrem Posteingang sehen. Wenn nicht, überprüfen Sie Ihren Spam-Ordner.
Beachten Sie, dass bei dieser Konfiguration die Adresse im Feld Von für die von Ihnen gesendeten Test-E-Mails [email protected]
lautet, wobei sammy Ihr Linux-Benutzername und der Domänenteil der Hostname des Servers ist. Wenn Sie Ihren Benutzernamen ändern, ändert sich auch die Absenderadresse.
Schritt 4 – Weiterleiten von System-E-Mails
Das letzte, was wir einrichten möchten, ist die Weiterleitung, sodass Sie E-Mails an root auf dem System an Ihre persönliche externe E-Mail-Adresse senden können.
Um Postfix so zu konfigurieren, dass vom System generierte E-Mails an Ihre E-Mail-Adresse gesendet werden, müssen Sie die /etc/aliases
-Datei bearbeiten.
- sudo nano /etc/aliases
Der vollständige Inhalt der Datei bei einer Standardinstallation von Ubuntu 16.04 lautet wie folgt:
# See man 5 aliases for formatpostmaster: root
Mit dieser Einstellung werden vom System generierte E-Mails an den Root-Benutzer gesendet. Sie möchten es so bearbeiten, dass diese E-Mails an Ihre E-Mail-Adresse umgeleitet werden. Um dies zu erreichen, bearbeiten Sie die Datei so, dass sie liest:
/etc/aliases# See man 5 aliases for formatpostmaster: rootroot: your_email_address
Ersetzen Sie your_email_address
durch Ihre persönliche E-Mail-Adresse. Wenn Sie fertig sind, speichern und schließen Sie die Datei. Führen Sie den folgenden Befehl aus, damit die Änderung wirksam wird:
- sudo newaliases
Sie können jetzt testen, ob es funktioniert, indem Sie eine E-Mail an das Root-Konto senden:
- echo "This is the body of the email" | mail -s "This is the subject line" root
Sie sollten die E-Mail an Ihre E-Mail-Adresse erhalten. Wenn nicht, überprüfen Sie Ihren Spam-Ordner.
Fazit
Das ist alles, was Sie brauchen, um einen Nur-Senden-E-Mail-Server mit Postfix einzurichten. Möglicherweise möchten Sie einige zusätzliche Schritte unternehmen, um Ihre Domain vor Spammern zu schützen.
Wenn Ihr Anwendungsfall darin besteht, Benachrichtigungen von Ihrem Server an einer einzigen Adresse zu erhalten, ist das Markieren von E-Mails als Spam ein großes Problem, da Sie sie auf die Whitelist setzen können. Wenn Ihr Anwendungsfall jedoch darin besteht, E-Mails an potenzielle Site-Benutzer zu senden (z. B. Bestätigungs-E-Mails für eine Anmeldung im Message Board), sollten Sie auf jeden Fall SPF-Datensätze und DKIM einrichten, damit die E-Mails Ihres Servers eher als legitim angesehen werden.
-
Verwendung eines SPF-Datensatzes zur Verhinderung von Spoofing & Verbesserung der E-Mail-Zuverlässigkeit
-
So installieren und konfigurieren Sie DKIM mit Postfix unter Debian Wheezy Obwohl dieser Artikel für Debian Wheezy geschrieben wurde, gelten die gleichen Schritte für Ubuntu 16.04.
Wenn dies richtig konfiguriert ist, ist es schwierig, Spam mit einer Adresse zu senden, die von Ihrer Domain zu stammen scheint. Wenn Sie diese zusätzlichen Konfigurationsschritte ausführen, ist es auch wahrscheinlicher, dass gängige E-Mail-Anbieter E-Mails von Ihrem Server als legitim ansehen.