So installieren und konfigurieren Sie Postfix unter Ubuntu 18.04

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. Schätzungen zufolge verwenden rund 25% der öffentlichen Mailserver im Internet Postfix.

In diesem Handbuch erfahren Sie, wie Sie Postfix auf einem Ubuntu 18.04-Server schnell zum Laufen bringen.

Voraussetzungen

Um dieser Anleitung folgen zu können, sollten Sie Zugriff auf einen Benutzer ohne Rootberechtigung mit den Rechten "+ sudo +" haben. Sie können unserer Ubuntu 18.04 Einrichtungsanleitung für Server folgen, um den erforderlichen Benutzer zu erstellen.

Um Postfix richtig zu konfigurieren, benötigen Sie einen vollqualifizierten Domain-Namen, der auf Ihren Ubuntu 18.04-Server verweist. Hilfe zum Einrichten Ihres Domainnamens bei DigitalOcean finden Sie unter this guide. Wenn Sie E-Mails annehmen möchten, müssen Sie sicherstellen, dass auch ein MX-Eintrag auf Ihren E-Mail-Server verweist.

In diesem Lernprogramm wird davon ausgegangen, dass Sie einen Host mit dem vollqualifizierten Domänennamen "+ mail.example.com +" konfigurieren.

Schritt 1 - Postfix installieren

Postfix ist in Ubuntus Standard-Repositorys enthalten, sodass die Installation einfach ist.

Aktualisieren Sie zunächst Ihren lokalen "+ apt " - Paketcache und installieren Sie dann die Software. Wir übergeben die Umgebungsvariable " DEBIAN_PRIORITY = low +" an unseren Installationsbefehl, um einige zusätzliche Eingabeaufforderungen zu beantworten:

sudo apt update
sudo DEBIAN_PRIORITY=low apt install postfix

Verwenden Sie die folgenden Informationen, um Ihre Eingabeaufforderungen für Ihre Umgebung korrekt auszufüllen:

  • * Allgemeine Art der E-Mail-Konfiguration? *: Hierfür wählen wir * Internet Site *, da dies unseren Infrastrukturanforderungen entspricht.

  • * Systemmailname *: 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 auf " example.com " setzen, damit Postfix unter dem Benutzernamen " user1 " die Adresse verwendet ` user1 @ example.com +`.

  • * Root- und Postmaster-E-Mail-Empfänger *: Dies ist das Linux-Konto, über das E-Mails an "+ root @ " und " postmaster @ +" weitergeleitet werden. Verwenden Sie hierfür Ihr primäres Konto. In unserem Fall * sammy *.

  • * Andere Ziele, für die E-Mails akzeptiert werden sollen *: Hiermit werden die E-Mail-Ziele definiert, die von dieser Postfix-Instanz akzeptiert werden. Wenn Sie weitere Domänen hinzufügen müssen, für deren Empfang dieser Server verantwortlich ist, fügen Sie diese hier hinzu. Andernfalls sollte die Standardeinstellung problemlos funktionieren.

  • * Synchrones Aktualisieren der E-Mail-Warteschlange erzwingen? *: Da Sie wahrscheinlich ein Journal-Dateisystem verwenden, akzeptieren Sie hier * Nein *.

  • * Lokale Netzwerke *: Dies ist eine Liste der Netzwerke, für die Ihr Mailserver zur Weiterleitung von Nachrichten konfiguriert ist. Der Standard sollte für die meisten Szenarien funktionieren. Wenn Sie es ändern möchten, achten Sie darauf, dass Sie hinsichtlich des Netzwerkbereichs sehr restriktiv sind.

  • * Mailbox-Größenbeschränkung *: Hiermit können Sie die Größe von Nachrichten begrenzen. Wenn Sie den Wert auf "0" setzen, wird die Größenbeschränkung deaktiviert.

  • * Zeichen für lokale Adresserweiterung *: Mit diesem Zeichen können Sie den regulären Teil der Adresse von einer Erweiterung trennen (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 für unsere Zwecke "alle" auswählen.

Dies sind die Einstellungen, die wir für dieses Handbuch verwenden werden:

  • * Allgemeine Art der E-Mail-Konfiguration? *: Internet-Site

  • * System Mail Name *: example.com (nicht mail.example.com)

  • * Stamm- und Postmaster-E-Mail-Empfänger *: sammy

  • * Andere Ziele für die Annahme von E-Mails für *: $ myhostname, example.com, mail.example.com, localhost.example.com, localhost

  • * Synchrones Aktualisieren der Mail-Warteschlange erzwingen? *: Nein

  • * Lokale Netzwerke *: 127.0.0.0/8 [::ffff:127.0.0.0‹/104 [:: 1] / 128

  • * Postfachgrößenbeschränkung *: 0

  • * Zeichen für lokale Adresserweiterung *:

  • * Zu verwendende Internetprotokolle *: alle

Wenn Sie jemals zurückkehren müssen, um diese Einstellungen 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 konfigurieren, 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 das Paket uns nicht aufgefordert hat.

Zu Beginn können wir die Mailbox einstellen. Wir werden das * Maildir * -Format verwenden, das Nachrichten in einzelne Dateien aufteilt, die dann je nach Benutzeraktion zwischen Verzeichnissen verschoben werden. Die andere Option ist das * mbox * -Format (auf das wir hier nicht eingehen), 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 Ausgangsverzeichnis 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 die Position der Tabelle + virtual_alias_maps + festlegen. Diese Tabelle ordnet beliebige E-Mail-Konten Linux-Systemkonten zu. Wir werden diese Tabelle unter "+ / etc / postfix / virtual" erstellen. Auch hier können wir den Befehl + postconf + verwenden:

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

Schritt 3 - Mail-Adressen Linux-Konten zuordnen

Als nächstes können wir die virtuelle Kartendatei einrichten. Öffnen Sie die Datei in Ihrem Texteditor:

sudo nano /etc/postfix/virtual

Die virtuelle Aliaskartentabelle 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, durch Leerzeichen getrennt, den Linux-Benutzer ein, an den die E-Mail gesendet werden soll.

Wenn Sie beispielsweise E-Mails unter "+ contact @ example.com " und " admin @ example.com " annehmen möchten und diese E-Mails an den " sammy +" Linux-Benutzer senden möchten, können Sie Ihre einrichten Datei wie folgt:

/ etc / postfix / virtual

contact@ sammy
admin@ sammy

Speichern und schließen Sie die Datei, nachdem Sie alle Adressen den entsprechenden Serverkonten zugeordnet haben.

Wir können die Zuordnung anwenden, indem wir Folgendes eingeben:

sudo postmap /etc/postfix/virtual

Starten Sie den Postfix-Prozess neu, um sicherzustellen, dass alle unsere Änderungen übernommen wurden:

sudo systemctl restart postfix

Schritt 4 - Passen Sie die Firewall an

Wenn Sie die UFW-Firewall wie im Handbuch zur Erstkonfiguration des Servers konfiguriert ausführen, müssen wir 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 von Postfix verarbeitete Mail verarbeiten kann.

Schritt 5 - Einrichten der Umgebung entsprechend dem E-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 er nach E-Mails des Benutzers suchen soll.

Damit die Variable unabhängig davon gesetzt werden kann, wie Sie auf Ihr Konto zugreifen (über "+ ssh ", " su ", " su - ", " sudo " usw.), müssen wir die Variable in a setzen wenige verschiedene Standorte. Wir fügen es zu " / etc / bash.bashrc " und einer Datei in " / etc / profile.d +" hinzu, um sicherzustellen, dass jeder Benutzer dies konfiguriert hat.

Geben Sie Folgendes ein, um die Variable zu diesen Dateien hinzuzufügen:

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 einzulesen, können Sie die Datei + / etc / profile.d / mail.sh + verwenden:

source /etc/profile.d/mail.sh

Schritt 6 - Installieren und Konfigurieren des Mail-Clients

Um mit der zugestellten Mail zu interagieren, installieren wir das Paket "+ s-nail ". Dies ist eine Variante des BSD-Clients ` xmail `, der reich an Funktionen ist, das Maildir-Format korrekt verarbeiten kann und größtenteils abwärtskompatibel ist. Die GNU-Version von " mail +" weist einige Einschränkungen auf, beispielsweise das Speichern von gelesenen E-Mails im Mbox-Format, unabhängig vom Quellformat.

Geben Sie zum Installieren des Pakets + s-nail + Folgendes ein:

sudo apt install s-nail

Wir sollten ein paar 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:

/etc/s-nail.rc

. . .
set emptystart
set folder=Maildir
set record=+sent

Dadurch kann der Client auch bei leerem Posteingang geöffnet werden. Es wird auch das Verzeichnis "+ Maildir" auf die interne Variable "+ folder" gesetzt und dann verwendet, um eine "+ sent +" - Mbox-Datei zu erstellen, in der gesendete E-Mails gespeichert werden.

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schritt 7 - Initialisieren Sie den Maildir und testen Sie den Client

Jetzt können wir den Client testen.

Verzeichnisstruktur initialisieren

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 "+ s-nail " tun. Da die Datei ` sent ` erst verfügbar ist, wenn das Maildir erstellt wurde, sollten wir das Schreiben in diese Datei für unsere erste E-Mail deaktivieren. Wir können dies tun, indem wir die Option ` -Snorecord +` übergeben.

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

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

Möglicherweise erhalten Sie die folgende Antwort:

OutputCan't canonicalize "/home//Maildir"

Dies ist normal und wird möglicherweise nur beim Senden dieser ersten Nachricht angezeigt. Wir können überprüfen, ob das Verzeichnis erstellt wurde, indem wir nach unserem Verzeichnis + ~ / Maildir + suchen:

ls -R ~/Maildir

Sie sollten sehen, dass die Verzeichnisstruktur erstellt wurde und dass sich eine neue Nachrichtendatei im Verzeichnis + ~ / Maildir / new + befindet:

Output/home//Maildir/:
cur  new  tmp

/home//Maildir/cur:

/home//Maildir/new:
1463177269.Vfd01I40e4dM691221.mail.example.com

/home//Maildir/tmp:

Es sieht so aus, als ob unsere Post zugestellt wurde.

Mail mit dem Client verwalten

Verwenden Sie den Client, um Ihre E-Mails zu überprüfen:

s-nail

Sie sollten sehen, dass Ihre neue Nachricht wartet:

Outputs-nail version v14.8.6.  Type ? for help.
"/home/sammy/Maildir": 1 message 1 new
>N  1 [email protected]     Wed Dec 31 19:00   14/369   init

Wenn Sie einfach auf "+ ENTER +" drücken, wird Ihre Nachricht angezeigt:

Output[-- Message  1 -- 14 lines, 369 bytes --]:
From [email protected] Wed Dec 31 19:00:00 1969
Date: Fri, 13 May 2016 18:07:49 -0400
To: [email protected]
Subject: init
Message-Id: <[email protected]>
From: [email protected]

init

Sie können zu Ihrer Nachrichtenliste zurückkehren, indem Sie "+ h " und dann " ENTER +" eingeben:

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 + und dann + ENTER + löschen:

d

Beenden Sie, um zum Terminal zurückzukehren, indem Sie "+ q " und dann " ENTER +" eingeben:

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 in das Feld einen Text ein, den Sie per E-Mail senden möchten:

~ / test_message

Hello,

This is a test.  Please confirm receipt!

Mit dem Befehl + cat + können wir die Nachricht an den Prozess + s-nail + weiterleiten. Dadurch wird die Nachricht standardmäßig als Ihr Linux-Benutzer gesendet. Sie können das Feld "Von" mit der Markierung "+ -r +" anpassen, wenn Sie diesen Wert in einen anderen Wert ändern möchten:

cat ~/ | s-nail -s '' -r  @

Die oben genannten Optionen sind:

  • + -s +: Die Betreffzeile der E-Mail

  • + -r +: Eine optionale Änderung im Feld "Von:" der E-Mail. Standardmäßig wird der Linux-Benutzer, unter dem Sie angemeldet sind, zum Ausfüllen dieses Felds verwendet. Mit der Option "+ -r +" können Sie dies überschreiben.

  • + user @ email.com +: Das Konto, an das die E-Mail gesendet werden soll. Ändern Sie dies in ein gültiges Konto, auf das Sie Zugriff haben.

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

s-nail

Anschließend können Sie Ihre gesendeten Nachrichten anzeigen, 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 18.04-Server konfiguriert haben. Das Verwalten von E-Mail-Servern kann für Administratoren eine schwierige Aufgabe sein. Bei dieser Konfiguration sollten Sie jedoch über grundlegende MTA-E-Mail-Funktionen verfügen, um den Einstieg zu erleichtern.

Related