So installieren und konfigurieren Sie Postfix unter Ubuntu 20.04

So installieren und konfigurieren Sie Postfix unter Ubuntu 20.04

Eine frühere Version dieses Tutorials wurde von Justin Ellingwood geschrieben

Einführung

Postfix ist ein beliebter Open-Source-Mail-Transfer-Agent (MTA), mit dem E-Mails auf einem Linux-System weitergeleitet und zugestellt werden können. Es wird geschätzt, dass rund 25% der öffentlichen Mailserver im Internet Postfix ausführen.

In diesem Handbuch erfahren Sie, wie Sie Postfix auf einem Ubuntu 20.04-Server installieren und konfigurieren., Anschließend testen Sie, ob Postfix in der Lage ist, E-Mails korrekt zu routen, indem Sie s-nail, einen Mail User Agent (MUA), auch als E-Mail Client bekannt, installieren.

Beachten Sie, dass das Ziel dieses Tutorials darin besteht, Ihnen zu helfen, Postfix mit nur einigen nackten Knochen schnell zum Laufen zu bringen E-Mail-Funktionalität. Am Ende dieses Handbuchs haben Sie keinen voll ausgestatteten E-Mail-Server, aber einige der grundlegenden Komponenten eines solchen Setups helfen Ihnen beim Einstieg.

Voraussetzungen

Um dieser Anleitung zu folgen, benötigen Sie Folgendes:

  • Ein Server mit Ubuntu 20.,04 um als Postfix Mail Server zu fungieren. Dieser Server sollte über einen Nicht-Root-Benutzer mit sudo – Berechtigungen und eine mit UFW konfigurierte Firewall verfügen. Sie können in unserem Ubuntu 20.04 initial server setup guide, um dies einzurichten.
  • Ein vollständig qualifizierter Domainname, der auf Ihren Ubuntu 20.04-Server zeigt. Hilfe zum Einrichten Ihres Domainnamens mit DigitalOcean finden Sie in unserer Dokumentation zu Domains und DNS-Netzwerken. Beachten Sie, dass Sie, wenn Sie von einem externen Speicherort aus auf E-Mails zugreifen möchten, sicherstellen müssen, dass auch ein MX-Datensatz auf Ihren E-Mail-Server verweist.,

Beachten Sie, dass in diesem Lernprogramm davon ausgegangen wird, dass Sie einen Host mit dem FQDN von mail.example.comkonfigurieren. Ändern Sie bei Bedarf example.com oder mail.example.com, um Ihren eigenen FQDN widerzuspiegeln.

Schritt 1-Installieren von Postfix

Postfix ist in den Standard-Repositorys von Ubuntu enthalten, sodass Sie es mit APT installieren können.

Aktualisieren Sie zunächst Ihren lokalenapt Paketcache:

  • sudo apt update

Installieren Sie dann das Paketpostfix mit dem folgenden Befehl., Beachten Sie, dass wir hier die Umgebungsvariable DEBIAN_PRIORITY=low an diesen Installationsbefehl übergeben. Dies führt dazu, dass der Installationsprozess Sie auffordert, einige zusätzliche Optionen zu konfigurieren:

  • sudo DEBIAN_PRIORITY=low apt install postfix

Dieser Installationsprozess öffnet eine Reihe interaktiver Eingabeaufforderungen. Verwenden Sie für die Zwecke dieses Tutorials die folgenden Informationen, um Ihre Eingabeaufforderungen auszufüllen:

  • Allgemeine Art der E-Mail-Konfiguration?: Wählen Sie dazu eine Website, da diese unseren Infrastrukturanforderungen entspricht.,
  • System-Mail-Name: Dies ist die Basisdomäne, die zum Erstellen einer gültigen E-Mail-Adresse verwendet wird, wenn nur der Kontoteil der Adresse angegeben wird. Angenommen, der Hostname Ihres Servers lautet mail.example.com. Wahrscheinlich möchten Sie den System-Mail-Namen auf example.com setzen, damit Postfix bei Angabe des Benutzernamens user1 die Adresse .
  • Root-und Postmaster-E-Mail-Empfänger: Dies ist das Linux-Konto, das E-Mails an root@ und postmaster@weiterleitet., Verwenden Sie hierfür Ihr Primärkonto. In diesem Beispielfall Sammy.
  • Andere Ziele, für die E-Mails akzeptiert werden sollen: Dies definiert die E-Mail-Ziele, die diese Postfix-Instanz akzeptiert. Wenn Sie andere Domänen hinzufügen müssen, für die dieser Server verantwortlich ist, fügen Sie diese hier hinzu. Andernfalls ist der Standardwert ausreichend.
  • Erzwingen synchrone Updates auf Mail-Warteschlange?: Da Sie wahrscheinlich ein journaled Dateisystem verwenden, akzeptieren Sie hier Keine.
  • Lokale Netzwerke: Dies ist eine Liste der Netzwerke, für die Ihr Mailserver zum Weiterleiten von Nachrichten konfiguriert ist., Der Standardwert funktioniert für die meisten Szenarien. Wenn Sie es jedoch ändern möchten, stellen Sie sicher, dass es in Bezug auf den Netzwerkbereich sehr restriktiv ist.
  • Mailbox size limit: Dies kann verwendet werden, um die Größe von Nachrichten zu begrenzen. Wenn Sie es auf 0, wird jede Größenbeschränkung deaktiviert.
  • Local address extension character: Dies ist das Zeichen, mit dem der reguläre Teil der Adresse von einer Erweiterung getrennt werden kann (zum Erstellen dynamischer Aliase). Der Standardwert + funktioniert für dieses Tutorial.,
  • Zu verwendende Internetprotokolle: Wählen Sie aus, ob die von Postfix unterstützte IP-Version eingeschränkt werden soll. Für die Zwecke dieses Tutorials, wählen Sie alle.

Um explizit zu sein, sind dies die in diesem Handbuch verwendeten Einstellungen:

Hinweis: Wenn Sie jemals zurückkehren müssen, um diese Einstellungen zu ändern, können Sie dies tun, indem Sie Folgendes eingeben:

  • sudo dpkg-reconfigure postfix

Die Eingabeaufforderungen werden mit Ihren vorherigen Antworten vorab ausgefüllt.

Wenn der Installationsvorgang abgeschlossen ist, können Sie einige Aktualisierungen Ihrer Postfix-Konfiguration vornehmen.,

Schritt 2 – Ändern der Postfix-Konfiguration

Jetzt können Sie einige Einstellungen anpassen, zu denen der Paketinstallationsprozess Sie nicht aufgefordert hat. Viele der Konfigurationseinstellungen von Postfix sind in der Datei /etc/postfix/main.cf definiert. Anstatt diese Datei direkt zu bearbeiten, können Sie den Befehl postconf von Postfix verwenden, um Konfigurationseinstellungen abzufragen oder festzulegen.

Legen Sie zunächst den Speicherort für das Postfach Ihres Ubuntu-Benutzers fest, der kein Root ist., In diesem Handbuch verwenden wir das Maildir-Format, das Nachrichten in einzelne Dateien trennt, die dann basierend auf Benutzeraktionen zwischen Verzeichnissen verschoben werden. Die alternative Option, die in diesem Handbuch nicht behandelt wird, ist das mbox-Format, das alle Nachrichten in einer einzigen Datei speichert.

Setzen Sie die Variable home_mailbox auf Maildir/. Später erstellen Sie eine Verzeichnisstruktur unter diesem Namen im Home-Verzeichnis Ihres Benutzers., Konfigurieren Sie home_mailbox, indem Sie Folgendes eingeben:

  • sudo postconf -e 'home_mailbox= Maildir/'

Legen Sie als nächstes den Speicherort der Tabelle virtual_alias_maps fest, die beliebige E-Mail-Konten Linux-Systemkonten zuordnet. Führen Sie den folgenden Befehl aus, der den Tabellenspeicherort einer Hash-Datenbankdatei mit dem Namen /etc/postfix/virtualzuordnet:

  • sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'

Nachdem Sie nun den Speicherort der virtuellen Kartendatei in Ihrer main.cf – Datei definiert haben, können Sie die Datei selbst erstellen und mit der Zuordnung von E-Mail-Konten zu Benutzerkonten auf Ihrem Linux-System beginnen., Erstellen Sie die Datei mit Ihrem bevorzugten Texteditor; In diesem Beispiel verwenden wir nano:

  • sudo nano /etc/postfix/virtual

Listen Sie alle Adressen auf, für die Sie E-Mails akzeptieren möchten, gefolgt von einem Leerzeichen und dem Linux-Benutzer, an den Sie diese E-Mail senden möchten.,

Wenn Sie beispielsweise E-Mails unter und annehmen und diese E-Mails an den sammy Linux-Benutzer senden möchten, können Sie Ihre Datei folgendermaßen einrichten:

/etc/postfix/virtual
[email protected] [email protected] sammy

Nachdem Sie alle Adressen zugeordnet haben speichern und schließen Sie die Datei in den entsprechenden Serverkonten. Wenn Sie nano verwendet haben, drücken Sie dazu CTRL + X, Y und dann ENTER.,

Wenden Sie das Mapping an, indem Sie Folgendes eingeben:

  • sudo postmap /etc/postfix/virtual

Starten Sie den Postfix-Prozess neu, um sicherzustellen, dass alle Ihre Änderungen angewendet wurden:

  • sudo systemctl restart postfix

Angenommen, Sie haben die Anleitung zum Einrichten des erforderlichen Servers befolgt, haben Sie eine Firewall mit UFW konfiguriert. Diese Firewall blockiert standardmäßig externe Verbindungen zu Diensten auf Ihrem Server, es sei denn, diese Verbindungen sind explizit zulässig, sodass Sie eine Firewallregel hinzufügen müssen, um eine Ausnahme für Postfix zuzulassen.,

Sie können Verbindungen zum Dienst zulassen, indem Sie Folgendes eingeben:

  • sudo ufw allow Postfix

Damit ist Postfix konfiguriert und bereit, externe Verbindungen zu akzeptieren. Sie sind jedoch noch nicht bereit, es mit einem Mail-Client zu testen. Bevor Sie einen Client installieren und für die Interaktion mit der an Ihren Server gelieferten E-Mail verwenden können, müssen Sie einige Änderungen am Setup Ihres Ubuntu-Servers vornehmen.,

Schritt 3-Installieren des Mail-Clients und Initialisieren der Maildir-Struktur

Um mit der zugestellten E-Mail zu interagieren, führt Sie dieser Schritt durch die Installation des Pakets s-nail. Dies ist eine funktionsreiche Variante des BSD xmail – Clients, der das Maildir-Format korrekt verarbeiten kann.

Vor der Installation des Clients ist es jedoch ratsam, sicherzustellen, dass IhreMAIL Umgebungsvariable korrekt eingestellt ist., s-nail sucht nach dieser Variablen, um herauszufinden, wo E-Mails für Ihren Benutzer zu finden sind.

Um sicherzustellen, dass die Variable MAIL unabhängig davon festgelegt wird, wie Sie auf Ihr Konto zugreifen — ob über ssh, su, su - oder sudo — müssen Sie beispielsweise die Variable in die /etc/bash.bashrc – Datei und fügen Sie sie einer Datei in /etc/profile.d hinzu, um sicherzustellen, dass sie standardmäßig für alle Benutzer festgelegt ist.,

Um die Variable zu diesen Dateien hinzuzufügen, geben Sie Folgendes ein:

  • echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh

Um die Variable in Ihre aktuelle Sitzung zu lesen, geben Sie die /etc/profile.d/mail.sh – Datei ein:

  • source /etc/profile.d/mail.sh

Installieren Sie die s-nail E-Mail-Client mit APT:

/p>

  • sudo apt install s-nail

Bevor Sie den Client ausführen, müssen Sie einige Einstellungen anpassen. Öffnen Sie die Datei /etc/s-nail.rc in Ihrem Editor:

  • sudo nano /etc/s-nail.rc

Fügen Sie unten in der Datei die folgenden Optionen hinzu:

/etc/s-nail.,rc
. . .set emptystartset folder=Maildirset record=+sent

Hier ist, was diese Zeilen tun:

  • set emptystart: Ermöglicht dem Client, auch mit einem leeren Posteingang zu öffnen
  • set folder=Maildir: Legt das Verzeichnis Maildir auf die interne folder Variable
  • set record=+sent erstellt eine sent mbox-Datei zum Speichern von gesendeten E-Mails in jedem Verzeichnis, das als folder Variable festgelegt ist, in diesem Fall Maildir

Speichern und Schließen datei, wenn Sie fertig sind., Sie sind jetzt bereit, die Maildir-Struktur Ihres Systems zu initialisieren.

Eine schnelle Möglichkeit, die Maildir-Struktur in Ihrem Home-Verzeichnis zu erstellen, besteht darin, sich eine E-Mail mit dem Befehl s-nail zu senden. Da diesent – Datei erst verfügbar ist, wenn das Maildir erstellt wurde, sollten Sie das Schreiben für diese erste E-Mail deaktivieren. Übergeben Sie dazu die Option -Snorecord.

Senden Sie die E-Mail, indem Sie eine Zeichenfolge an den Befehl s-nail., Passen Sie den Befehl an, um Ihren Linux-Benutzer als Empfänger zu markieren:

  • echo 'init' | s-nail -s 'init' -Snorecord sammy

Hinweis: Möglicherweise erhalten Sie die folgende Antwort:

Output
Can't canonicalize "/home/sammy/Maildir"

Dies ist normal und wird möglicherweise nur beim Senden dieser ersten Nachricht angezeigt.,

Sie können überprüfen, ob das Verzeichnis erstellt wurde, indem Sie nach Ihrer ~/Maildir Verzeichnis:

  • ls -R ~/Maildir

Sie werden sehen, dass die Verzeichnisstruktur erstellt wurde und dass sich eine neue Nachrichtendatei in der ~/Maildir/new Verzeichnis:

Nachdem die Verzeichnisstruktur erstellt wurde, können Sie testen Sie den s-nail – Client, indem Sie die von Ihnen gesendete init – Nachricht anzeigen und eine Nachricht an eine externe E-Mail-Adresse senden.,

Schritt 4 — Testen des Clients

Um den Client zu öffnen, führen Sie den Befehl s-nail aus:

  • s-nail

In Ihrer Konsole sehen Sie einen rudimentären Posteingang mit der init Nachricht warten:

Drücken Sie ENTER um die Nachricht anzuzeigen:

Sie können zur Nachrichtenliste zurückkehren, indem Sie h und dann ENTER:

  • h
Output
>R 1 [email protected] 2020-05-19 15:40 14/392 init

Beachten Sie, dass die Nachricht jetzt den Status R, was darauf hinweist, dass es gelesen wurde.,

Da diese Nachricht nicht sehr nützlich ist, können Sie sie löschen, indem Sie d und dann ENTER:

  • d

Um zum Terminal zurückzukehren, geben Sie q und dann ENTER:

  • q

Überprüfen Sie als letzten Test, ob s-nail in der Lage ist, E-Mails korrekt zu senden. Dazu können Sie den Inhalt einer Textdatei in den s-nail – Prozess leiten, wie Sie es mit der init – Nachricht getan haben, die Sie im vorherigen Schritt gesendet haben.,

Beginnen Sie mit dem Schreiben einer Testnachricht in einem Texteditor:

  • nano ~/test_message

Geben Sie einen Text ein, den Sie senden möchten:

~/test_message
Hello,This is a test. Please confirm receipt!

Speichern und schließen Sie die Datei nach dem Schreiben Ihrer Nachricht.

Verwenden Sie dann den Befehl cat, um die Nachricht an den Prozess s-nail weiterzuleiten., Sie können dies mit dem folgenden Beispiel tun, das diese Optionen verwendet:

  • -s: Dies definiert die Betreffzeile der E-Mail-Nachricht
  • -r: Eine optionale Änderung des Felds „From:“ der E-Mail. Standardmäßig wird der Linux-Benutzer, bei dem Sie angemeldet sind, zum Ausfüllen dieses Felds verwendet. Mit der Option -r können Sie dies mit einer gültigen Adresse überschreiben, z. B. einer der in der Datei /etc/postfix/virtual definierten., Zur Veranschaulichung verwendet der folgende Befehl

Ändern Sie außerdem in eine gültige E-Mail-Adresse, auf die Sie Zugriff haben:

Navigieren Sie dann zum Posteingang der E-Mail-Adresse, an die Sie die Nachricht gesendet haben. Sie werden Ihre Nachricht fast sofort dort warten sehen.

Hinweis: Wenn sich die Nachricht nicht in Ihrem Posteingang befindet, wurde sie möglicherweise an Ihren Spam-Ordner gesendet.

Sie können Ihre gesendeten Nachrichten in Ihrem s-nail Client anzeigen., Starten Sie den interaktiven Client erneut:

  • s-nail

Zeigen Sie Ihre gesendeten Nachrichten über den E-Mail-Client an, indem Sie Folgendes eingeben:

  • file +sent

Sie sehen die Ausgabe wie folgt:

Sie können gesendete E-Mails mit denselben Befehlen verwalten, die Sie für eingehende E-Mails verwenden.

Fazit

Sie haben jetzt Postfix auf Ihrem Ubuntu 20.04-Server konfiguriert. Das Verwalten von E-Mail-Servern kann für neue Systemadministratoren eine schwierige Aufgabe sein, aber mit dieser Konfiguration sollten Sie über genügend MTA-E-Mail-Funktionen verfügen, um loszulegen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.