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 lernen Sie, wie Sie mit Postfix auf einem Ubuntu 16.04-Server schnell zum Laufen kommen.
Voraussetzungen
Um dieser Anleitung zu folgen, sollten Sie Zugriff auf einen Nicht-Root-Benutzer mitsudo
Berechtigungen haben. Sie können unserem Ubuntu 16 folgen.,04 erste Server-Setup-Anleitung zum Erstellen des erforderlichen Benutzers.
Um Postfix richtig zu konfigurieren, benötigen Sie einen vollständig qualifizierten Domainnamen, der auf Ihren Ubuntu 16.04-Server zeigt. Hilfe zum Einrichten Ihres Domainnamens mit DigitalOcean finden Sie in diesem Handbuch. Wenn Sie E-Mails akzeptieren möchten, müssen Sie sicherstellen, dass auch ein MX-Datensatz auf Ihren Mailserver verweist.
Für die Zwecke dieses Tutorials gehen wir davon aus, dass Sie einen Host konfigurieren, der den FQDN von mail.example.com
hat.,
Schritt 1: Installieren Sie Postfix
Postfix ist in den Standard-Repositorys von Ubuntu enthalten, sodass die Installation unglaublich einfach ist.
Aktualisieren Sie zunächst Ihren lokalenapt
Paketcache und installieren Sie dann die Software. Wir werden die Umgebungsvariable DEBIAN_PRIORITY=low
an unseren Installationsbefehl übergeben, um einige zusätzliche Eingabeaufforderungen zu beantworten:
- sudo apt-get update
- sudo DEBIAN_PRIORITY=low apt-get install postfix
Verwenden Sie die folgenden Informationen, um Ihre Eingabeaufforderungen für Ihre Umgebung korrekt auszufüllen:
- Allgemeine Art der Mailkonfiguration?,: Dafür werden wir Internet-Site wählen, da dies unsere 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. Zum Beispiel lautet der Hostname unseres Servers
mail.example.com
, aber wir möchten wahrscheinlich den System-Mail-Namen aufexample.com
setzen, damit Postfix bei Angabe des Benutzernamensuser1
die Adresse.,
- Root-und Postmaster-E-Mail-Empfänger: Dies ist das Linux-Konto, das E-Mails an
root@
undpostmaster@
weiterleitet. Verwenden Sie hierfür Ihr Primärkonto. In unserem Fall, 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 sollte der Standardwert einwandfrei funktionieren.
- 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 konfiguriert ist, um Nachrichten weiterzuleiten. Der Standardwert sollte für die meisten Szenarien funktionieren. Wenn Sie es ä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“ setzen, 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).
- Zu verwendende Internetprotokolle: Wählen Sie aus, ob die von Postfix unterstützte IP-Version eingeschränkt werden soll. Wir werden „alle“ für unsere Zwecke auswählen.
Um explizit zu sein, sind dies die Einstellungen, die wir für dieses Handbuch verwenden:
Wenn Sie jemals zurückkehren müssen, um diese Einstellungen erneut anzupassen, können Sie dies tun, indem Sie Folgendes eingeben:
- sudo dpkg-reconfigure postfix
Die Eingabeaufforderungen werden mit Ihren vorherigen Antworten vorab ausgefüllt.,
Wenn Sie fertig sind, können wir jetzt etwas mehr Konfiguration vornehmen, um unser System so einzurichten, wie wir es möchten.
Schritt 2: Optimieren Sie die Postfix-Konfiguration
Als nächstes können wir einige Einstellungen anpassen, zu denen uns das Paket nicht aufgefordert hat.
Um zu beginnen, können wir die Mailbox. Wir verwenden das Maildir-Format, das Nachrichten in einzelne Dateien trennt, die dann basierend auf Benutzeraktionen zwischen Verzeichnissen verschoben werden. Die andere Option ist das Mbox-Format (das wir hier nicht behandeln werden), in dem alle Nachrichten in einer einzigen Datei gespeichert werden.,
Wir setzen die Variable home_mailbox
auf Maildir/
, wodurch eine Verzeichnisstruktur unter diesem Namen im Home-Verzeichnis des Benutzers erstellt wird. Mit dem Befehl postconf
können Konfigurationseinstellungen abgefragt oder festgelegt werden. Konfigurieren Sie home_mailbox
indem Sie Folgendes eingeben:
- sudo postconf -e 'home_mailbox= Maildir/'
Als nächstes können wir den Speicherort der Tabelle virtual_alias_maps
festlegen. Diese Tabelle ordnet beliebige E-Mail-Konten Linux-Systemkonten zu. Wir erstellen diese Tabelle unter /etc/postfix/virtual
., Auch hier können wir den Befehl postconf
verwenden:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Schritt 3: Ordnen Sie E-Mail-Adressen Linux-Konten zu
Als nächstes können wir die virtuelle Kartendatei einrichten. Öffnen Sie die Datei in Ihrem Texteditor:
- sudo nano /etc/postfix/virtual
Die virtuelle Alias-Kartentabelle verwendet ein sehr einfaches Format. Auf der linken Seite können Sie alle Adressen auflisten, für die Sie E-Mails akzeptieren möchten. Geben Sie anschließend, getrennt durch Leerzeichen, den Linux-Benutzer ein, 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:
[email protected] [email protected] sammy
Nachdem Sie alle Adressen den entsprechenden Serverkonten zugeordnet haben, speichern und schließen Sie die Datei.,
Wir können das Mapping anwenden, indem wir Folgendes eingeben:
- sudo postmap /etc/postfix/virtual
Starten Sie den Postfix-Prozess neu, um sicherzustellen, dass alle unsere Änderungen angewendet wurden:
- sudo systemctl restart postfix
Schritt 4: Passen Sie die Firewall an
Wenn Sie die UFW-Firewall ausführen, müssen wir, wie im Handbuch zum Einrichten des ersten Servers konfiguriert, eine Ausnahme für Postfix zulassen.
Sie können Verbindungen zum Dienst zulassen, indem Sie Folgendes eingeben:
- sudo ufw allow Postfix
Die Postfix-Serverkomponente ist installiert und bereit. Als nächstes richten wir einen Client ein, der die E-Mails verarbeiten kann, die Postfix verarbeiten wird.,
Schritt 5: Einrichten der Umgebung für den Mail-Speicherort
Bevor wir einen Client installieren, sollten wir sicherstellen, dass unsere Umgebungsvariable MAIL
korrekt eingestellt ist. Der Client überprüft diese Variable, um herauszufinden, wo nach der E-Mail des Benutzers gesucht werden soll.
Damit die Variable unabhängig davon, wie Sie auf Ihr Konto zugreifen, festgelegt wird (über ssh
, su
, su -
, sudo
usw.) wir müssen die Variable an einigen verschiedenen Stellen festlegen., Wir fügen es /etc/bash.bashrc
und einer Datei in /etc/profile.d
hinzu, um sicherzustellen, dass jeder Benutzer dies konfiguriert hat.
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, können Sie die /etc/profile.d/mail.sh
Datei:
- source /etc/profile.d/mail.sh
Schritt 6: Installieren und konfigurieren Sie den Mail-Client
Um mit der gelieferten E-Mail zu interagieren, werden installieren Sie das s-nail
Paket., Dies ist eine Variante des BSD xmail
– Clients, der funktionsreich ist, das Maildir-Format korrekt verarbeiten kann und größtenteils abwärtskompatibel ist. Die GNU-Version von mail
weist einige frustrierende Einschränkungen auf, z. B. das Speichern gelesener E-Mails unabhängig vom Quellformat immer im mbox-Format.
Um das Paket s-nail
zu installieren, geben Sie Folgendes ein:
- sudo apt-get install s-nail
Wir sollten einige Einstellungen anpassen., Öffnen Sie die Datei /etc/s-nail.rc
in Ihrem Editor:
- sudo nano /etc/s-nail.rc
Fügen Sie am Ende der Datei die folgenden Optionen hinzu:
. . .set emptystartset folder=Maildirset record=+sent
Dadurch kann der Client auch mit einem leeren Posteingang geöffnet werden. Es wird auch das Verzeichnis Maildir
auf die interne folder
Variable gesetzt und dann eine sent
mbox-Datei darin zum Speichern gesendeter E-Mails erstellt.
Speichern und schließen Sie die Datei, wenn Sie fertig sind.,
Schritt 7: Initialisieren Sie das Maildir und testen Sie den Client
Jetzt können wir den Client testen.
Initialisierung der Verzeichnisstruktur
Der einfachste Weg, die Maildir-Struktur in unserem Home-Verzeichnis zu erstellen, besteht darin, uns eine E-Mail zu senden. Wir können dies mit dem Befehl mail
. Da diesent
– Datei nur verfügbar ist, sobald das Maildir erstellt wurde, sollten wir das Schreiben für unsere erste E-Mail deaktivieren. Wir können dies tun, indem wir die Option -Snorecord
.,
Senden Sie die E-Mail, indem Sie eine Zeichenfolge an den Befehl mail
. Passen Sie den Befehl an, um Ihren Linux-Benutzer als Empfänger zu markieren:
- echo 'init' | mail -s 'init' -Snorecord sammy
Sie sollten die folgende Antwort erhalten:
OutputCan't canonicalize "/home/sammy/Maildir"
Dies ist normal und wird nur während dieser ersten Nachricht angezeigt., Wir können überprüfen, ob das Verzeichnis erstellt wurde, indem wir nach unserem Verzeichnis suchen:
- ls -R ~/Maildir
Sie sollten sehen, dass die Verzeichnisstruktur erstellt wurde und dass sich eine neue Nachrichtendatei im Verzeichnis ~/Maildir/new
befindet:
Es sieht so aus, als ob unsere E-Mail zugestellt wurde.,:
- h
Outputs-nail version v14.8.6. Type ? for help."/home/sammy/Maildir": 1 message 1 new>R 1 [email protected] Wed Dec 31 19:00 14/369 init
Da diese Nachricht nicht sehr nützlich ist, können wir sie mit d:
- d
Quit löschen, um zum Terminal zurückzukehren, indem Sie q:
- q
Senden von E-Mails mit dem Client
Sie können das Senden von E-Mails testen, indem Sie eine Nachricht in einen Texteditor eingeben:
- nano ~/test_message
Geben Sie im Inneren einen Text ein, den Sie per E-Mail senden möchten:
Hello,This is a test. Please confirm receipt!
Mit dem Befehl cat
können wir die Nachricht an die mail
Prozess., Dadurch wird die Nachricht standardmäßig als Linux-Benutzer gesendet. Sie können das Feld „From“ mit dem Flag -r
anpassen, wenn Sie diesen Wert in etwas anderes ändern möchten:
- cat ~/test_message | mail -s 'Test email subject line' -r from_field_account [email protected]
Die obigen Optionen sind:
-
-s
: Die Betreffzeile der E-Mail -
-r
: Eine optionale Änderung im Feld „Von:“ 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 überschreiben., -
: Das Konto, an das die E-Mail gesendet werden soll. Ändern Sie dies als gültiges Konto, auf das Sie Zugriff haben.
Sie können Ihre gesendeten Nachrichten in Ihrem mail
Client anzeigen. Starten Sie den interaktiven Client erneut, indem Sie Folgendes eingeben:
- mail
Zeigen Sie anschließend Ihre gesendeten Nachrichten an, indem Sie Folgendes eingeben:
- file +sent
Sie können gesendete E-Mails mit denselben Befehlen verwalten, die Sie für eingehende E-Mails verwenden.
Fazit
Sie sollten jetzt Postfix auf Ihrem Ubuntu 16.04-Server konfiguriert haben., Das Verwalten von E-Mail-Servern kann für anfängliche Administratoren eine schwierige Aufgabe sein, aber mit dieser Konfiguration sollten Sie über grundlegende MTA-E-Mail-Funktionen verfügen, um loszulegen.
Schreibe einen Kommentar