So installieren und konfigurieren Sie den Postfix-Mailserver unter CentOS 8

So installieren und konfigurieren Sie den Postfix-Mailserver unter CentOS 8

Postfix ist ein kostenloser und quelloffener MTA (Mail Transfer Agent), der zum Weiterleiten oder Zustellen von E-Mails auf Linux-Systemen verwendet wird. In dieser Anleitung erfahren Sie, wie Sie Postfix auf CentOS 8 installieren und konfigurieren.

Laboraufbau:

  • System: CentOS 8 Server
  • IP-Adresse: 192.168.1.13
  • Hostname: server1.crazytechgeek.info (stellen Sie sicher, dass der Domänenname auf die IP Ihres Servers verweist)

Schritt 1) ​​Aktualisieren Sie das System

Der erste Schritt besteht darin, sicherzustellen, dass Ihre Systempakete auf dem neuesten Stand sind. Aktualisieren Sie dazu Ihr System wie folgt:

# dnf-Update

Stellen Sie vor dem Fortfahren außerdem sicher, dass keine anderen MTAs (wie etwa Sendmail) vorhanden sind, da dies zu Konflikten mit der Postfix-Konfiguration führt. Um beispielsweise Sendmail zu entfernen, führen Sie den folgenden Befehl aus:

# dnf sendmail entfernen

Schritt 2) Legen Sie den Hostnamen fest und aktualisieren Sie /etc/hosts

Verwenden Sie den folgenden Befehl hostnamectl, um den Hostnamen auf Ihrem System festzulegen:

# hostnamectl set-hostname server1.crazytechgeek.info
# bash ausführen

Zusätzlich müssen Sie den Hostnamen und die IP des Systems in /etc/hosts hinzufügen:

# vim /etc/hosts
192.168.1.13 server1.crazytechgeek.info

Speichern und beenden Sie die Datei.

Schritt 3) Postfix-Mailserver installieren

Nachdem Sie überprüft haben, dass keine anderen MTAs auf dem System ausgeführt werden, führen Sie den folgenden Befehl aus, um Postfix zu installieren:

# dnf Postfix installieren 

Installieren Sie Postfix-Centos8

Schritt 4) Starten und aktivieren Sie den Postfix-Dienst

Führen Sie nach der erfolgreichen Installation von Postfix den folgenden Befehl aus, um den Postfix-Dienst zu starten und zu aktivieren:

# systemctl start postfix
# systemctl Postfix aktivieren

Um den Postfix-Status zu überprüfen, führen Sie den folgenden systemctl-Befehl aus:

# systemctl status postfix 

Start-Postfix-Check-Status-Centos8

Großartig, wir haben überprüft, dass Postfix einsatzbereit ist. Als Nächstes konfigurieren wir Postfix so, dass E-Mails von unserem lokalen Computer an unseren Server gesendet werden.

Schritt 5) Installieren Sie den Mailx-E-Mail-Client

Bevor wir den Postfix-Server konfigurieren, müssen wir mailx installieren. Führen Sie dazu den folgenden Befehl aus:

# dnf installiere mailx 

Install-Mailx-CentOS8

Schritt 6) Postfix-Mailserver konfigurieren

Die Postfix-Konfigurationsdatei befindet sich in /etc/postfix/main.cf. Wir müssen einige Änderungen an der Konfigurationsdatei vornehmen, öffnen Sie sie also mit Ihrem bevorzugten Texteditor:

# vi /etc/postfix/main.cf

Ändern Sie die folgenden Zeilen:

meinhostname = server1.crazytechgeek.info
meineDomain = crazytechgeek.info
myorigin = $meineDomäne
## Kommentar entfernen und inet_interfaces auf alle setzen##
inet_interfaces = alle
## Zu allen ändern ##
inet_protocols = alle
## Hinweise ##
#mydestination = $myhostname, localhost.$mydomain, localhost
## Auskommentieren ##
meinZiel = $meinHostname, localhost.$meineDomain, localhost, $meineDomain
## Auskommentieren und IP-Bereiche hinzufügen##
meineNetzwerke = 192.168.1.0/24, 127.0.0.0/8
## Auskommentieren ##
home_mailbox = Maildir/

Wenn Sie fertig sind, speichern und beenden Sie die Konfigurationsdatei. Starten Sie den Postfix-Dienst neu, damit die Änderungen wirksam werden:

# systemctl Neustart Postfix

Schritt 7) Testen Sie den Postfix-Mailserver

Um zu testen, ob unsere Konfiguration effektiv ist, erstellen Sie zunächst einen Testbenutzer.

# useradd postfixuser
# passwd postfixuser

Führen Sie als Nächstes den folgenden Befehl aus, um E-Mails vom lokalen Benutzer pkumar an einen anderen Benutzer postfixuser zu senden.

# Telnet lokaler Host SMTP
Oder # telnet localhost 25

Wenn der Telnet-Dienst nicht installiert ist, können Sie ihn mit dem folgenden Befehl installieren:

# dnf installiere telnet -y

Wenn Sie den Befehl wie zuvor beschrieben ausführen, sollten Sie eine Ausgabe ähnlich der folgenden erhalten:

[root@linuxtechi ~]# telnet localhost 25
Versuche 127.0.0.1 …
Mit lokalem Host verbunden.
Das Escape-Zeichen ist „^]“.
220 server1.crazytechgeek.info ESMTP Postfix

Die obigen Ergebnisse bestätigen, dass die Verbindung mit dem Postfix-Mailserver normal ist. Geben Sie als Nächstes den folgenden Befehl ein:

#ehlo lokaler Host

Die Ausgabe sieht folgendermaßen aus:

250-server1.crazytechgeek.info
250-ROHRLEITUNG
250-GRÖSSE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ERWEITERTE STATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8

Führen Sie als Nächstes die orange hervorgehobenen Befehle aus, beispielsweise „mail from“, „rcpt to“, „data“ und geben Sie abschließend „quit“ ein:

Mail von:<pkumar>
250 2.1.0 OK
rcpt an:<postfixuser>
250 2.1.5 OK
Daten
354 Daten mit <CR><LF> beenden.<CR><LF>
Hallo, Willkommen auf meinem Mailserver (Postfix)
.
250 2.0.0 Ok: in die Warteschlange gestellt als B56BF1189BEC
aufhören
221 2.0.0 Tschüss
Verbindung vom ausländischen Host geschlossen

Führen Sie den Telnet-Befehl wie folgt aus, um E-Mails vom lokalen Benutzer pkumar an einen anderen lokalen Benutzer postfixuser zu senden:

E-Mail senden mit Telnet-Centos8

Wenn alles nach Plan verlaufen ist, sollten Sie gesendete E-Mails im Home-Verzeichnis des neuen Benutzers anzeigen können:

# ls /home/postfixuser/Maildir/new
1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
#

Um die E-Mail zu lesen, verwenden Sie einfach den Befehl cat wie folgt:

# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info

Lesen-Postfix-E-Mail-Linux

Postfix-Mailserver-Protokolle

Das Mail-Log des Postfix-Mailservers wird in der Datei /var/log/maillog gespeichert. Mit dem folgenden Befehl können Sie das Echtzeit-Log anzeigen:

# tail -f /var/log/maillog 

Postfix-Maillogs-Centos8

Sichern des Postfix-Mailservers

Es wird empfohlen, die Kommunikation zwischen dem Client und dem Postfix-Server immer zu sichern. Dies kann durch die Verwendung von SSL-Zertifikaten erreicht werden, entweder von einer vertrauenswürdigen Stelle oder durch selbstsignierte Zertifikate. In diesem Tutorial verwenden wir den Befehl openssl, um ein selbstsigniertes Zertifikat für Postfix zu generieren.

Ich gehe davon aus, dass OpenSSL bereits auf Ihrem System installiert ist. Wenn nicht, verwenden Sie den folgenden DNF-Befehl:

# dnf installiere openssl -y

Generieren Sie mit dem folgenden OpenSSL-Befehl einen privaten Schlüssel und eine CSR (Certificate Signing Request):

# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr

Postfix-Schlüssel-CSR-CentOS8

Generieren Sie nun mit dem folgenden OpenSSL-Befehl ein selbstsigniertes Zertifikat:

# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt
Unterschrift ok
Betreff = C = IN, ST = Neu-Delhi, L = Neu-Delhi, O = IT, OU = IT, CN = server1.crazytechgeek.info, E-Mail-Adresse = root@linuxtechgeek
Privaten Schlüssel abrufen
#

Kopieren Sie nun den privaten Schlüssel und die Zertifikatsdateien in das Verzeichnis /etc/postfix:

# cp mail.key mail.crt /etc/postfix

Aktualisieren Sie die Pfade zu den privaten Schlüssel- und Zertifikatsdateien in der Postfix-Konfigurationsdatei:

# vi /etc/postfix/main.cf
………
smtpd_use_tls = ja
smtpd_tls_cert_file = /etc/postfix/mail.crt
smtpd_tls_key_file = /etc/postfix/mail.key
smtpd_tls_security_level = kann
………

Starten Sie den Postfix-Dienst neu, damit die obigen Änderungen wirksam werden:

# systemctl Neustart Postfix

Versuchen wir, mit dem Mailx-Client E-Mails an interne lokale Domänen und externe Domänen zu senden.

So senden Sie interne lokale E-Mails von pkumar an postfixuser:

# echo "Test-E-Mail" | mailx -s "Test-E-Mail vom Postfix-Mailserver" -r root@linuxtechi root@linuxtechi

Um die E-Mails zu prüfen und zu lesen, verwenden Sie den folgenden Befehl:

# cd /home/postfixuser/Maildir/neu/
#ll
insgesamt 8
-rw------. 1 postfixuser postfixuser 476 Nov 12 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
-rw------. 1 postfixuser postfixuser 612 Nov 13 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
# Katze 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info

Lesen-Postfixuser-Email-CentOS8

So senden Sie E-Mails vom Postfix-Benutzer an eine externe Domäne ([email protected]):

# echo "Externe Test-E-Mail" | mailx -s "Postfix MailServer" -r root@linuxtechi root@linuxtechi

HINWEIS: Wenn Ihre IP nirgends auf der schwarzen Liste steht, wird Ihre E-Mail an eine externe Domäne zugestellt, andernfalls wird sie mit der Meldung zurückgeschickt, dass Ihre IP in Datenbanken wie Spamhaus auf der schwarzen Liste steht.

Überprüfen Sie die Postfix-Mail-Warteschlange

Verwenden Sie den Befehl mailq, um die E-Mails in der Warteschlange aufzulisten:

# mailq
Die Mail-Warteschlange ist leer
#

Beenden! Unsere Postfix-Konfiguration funktioniert! Das ist vorerst alles. Wir hoffen, dass Sie dieses Tutorial aufschlussreich fanden und dass Sie problemlos einen lokalen Postfix-Server einrichten können.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Java versendet E-Mails über das Exchange-Protokoll
  • PHP implementiert Beispielcode zum Senden von E-Mails basierend auf dem SMTP-Protokoll
  • Java verwendet Socket, um das SMTP-Protokoll zum Senden von E-Mails zu implementieren
  • Tutorial zum Erstellen eines Mailservers in Ubuntu
  • Mailprotokoll und Funktionsprinzip des Servers

<<:  Vite2.0 Fallstricke

>>:  Detaillierte Erläuterung des Implementierungsprinzips von ACID-Transaktionen in MySQL

Artikel empfehlen

Anweisungen zur verschachtelten Verwendung von MySQL ifnull

Verschachtelte Verwendung von MySQL ifnull Ich ha...

Vue 2.0 Grundlagen im Detail

Inhaltsverzeichnis 1. Funktionen 2. Beispiele 3. ...

So verhindern Sie doppelte Übermittlungen in einem JQuery-Projekt

In neuen Projekten kann Axios doppelte Übermittlu...

So überprüfen Sie, ob der Grafiktreiber erfolgreich in Ubuntu installiert wurde

Führen Sie den Befehl aus: glxinfo | grep renderi...

Natives JS zur Implementierung der Paging-Klicksteuerung

Dies ist eine Interviewfrage, die die Verwendung ...

Beispielcode für HTML-Listenfeld, Textfeld und Dateifeld

Dropdown-Feld, Textfeld, Dateifeld Der obere Teil...

Nginx-Überwachungsprobleme unter Linux

Nginx-Installation Stellen Sie sicher, dass die v...

Zusammenfassung der Implementierungsmethoden und Punkte der H5-Wakeup-APP

Inhaltsverzeichnis Vorwort Zur APP-Methode spring...

Detaillierte Erläuterung der Reihenfolge der JS-Objektdurchquerung

Einige von Ihnen haben vielleicht gehört, dass di...

js realisiert Warenkorb-Add- und Subtraktions- sowie Preisberechnungsfunktionen

In diesem Artikel wird der spezifische Code von j...

Was bedeuten CN2, GIA, CIA, BGP und IPLC?

Was ist die CN2-Linie? CN2 steht für China Teleco...