So konfigurieren Sie Postfix und Dovecot mit virtuellen Domänenbenutzern unter Linux - Teil 2

So konfigurieren Sie Postfix und Dovecot mit virtuellen Domänenbenutzern unter Linux - Teil 2

Im vorherigen Artikel dieser Serie haben wir erklärt.

Erfordernis:

  1. Installieren Sie Postfix Mail Server und Dovecot mit MariADB - Teil 1
Konfigurieren Sie Postfix und Dovecot mit Virtual Domain -Benutzern - Teil 2

Jetzt ist es an der Zeit, die internen Programme zu konfigurieren, die das Senden und Empfangen von E -Mails Wirklichkeit werden: Postfix Und DEVECOT (Um ausgehende bzw. eingehende E -Mails zu behandeln).

Konfigurieren des Postfix -Mailservers

Bevor Sie mit der Konfiguration beginnen Postfix, Es wäre wert und gut, einen Blick auf seine Mannseiten zu werfen und den Abschnitt mit dem Titel "Informationen für neue Postfix -Benutzer“. Wenn Sie dies tun, finden Sie es einfacher, dieses Tutorial zu folgen.

In wenigen Worten sollten Sie wissen, dass es zwei Konfigurationsdateien für gibt Postfix:

  1. /etc/postfix/main.vgl (Postfix -Konfigurationsparameter finden Sie auf Mann 5 Postkonf für mehr Details).
  2. /etc/postfix/master.vgl (Postfix Master Daemon Configuraton siehe Mann 5 Meister für weitere Details).

In /etc/postfix/main.vgl, Suchen (oder fügen Sie bei Bedarf hinzu) die folgenden Zeilen und stellen Sie sicher, dass sie den unten angegebenen Werten übereinstimmen:

hauptsächlich.vgl
append_dot_mydomain = no biff = no config_directory = /etc/postfix dovecot_destination_recipient_limit = 1 message_size_limit = 4194304 readme_directory = no smtp_tls_session_cache_database = btree:$data_directory/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (CentOS) smtpd_tls_cert_file = /etc/pki/dovecot/ certs/dovecot.PEM SMTPD_TLS_KEY_FILE =/ETC/PKI/DOVECOT/Private/DoveCot.PEM SMTPD_TLS_Session_cache_database = BTree: $ data_directory/SMTPD_SCACHE SMTPD_USE_TLS = yes virtual_transport = dovepecot 

Die nächsten drei Einstellungen sind von besonderer Bedeutung. In den in gelb angegebenen Dateien konfigurieren wir den Zugriff von Postfix auf die Domains_tbl, User_tbl, Und Alias_tbl Tische:

virtual_mailbox_domains = mysql:/etc/postfix/mariadb-vdomains.vgl virtual_mailbox_maps = mysql:/etc/postfix/mariadb-vusers.vgl virtual_alias_maps = mysql:/etc/postfix/mariadb-valias.vgl 

Beachten Sie, dass Sie oben verschiedene Dateinamen auswählen können, solange Sie sicherstellen, dass Sie sie erstellen und die folgenden Inhalte in sie einfügen. In jedem Fall ersetzen Ihr Passwort mit dem Passwort, das Sie für die ausgewählt haben DBA Benutzer in Teil 1, oder Sie können auch die verwenden Mariadb Root -Anmeldeinformationen für Benutzer und Passwort unten.

Stellen Sie außerdem sicher, dass Sie die genauen Namen der E -Mail -Server -Datenbank und Tabellen in der in erstellten Tabellen verwenden Teil 1.

In /etc/postfix/mariadb-vdomains.vgl:

Mariadb-Vomains.vgl
user = dba password = yourpassword hosts = 127.0.0.1 dbname = EmailServer_db query = SELECT 1 aus DOMAINS_TBL WO DOMANNAME = "%s" 

In /etc/postfix/mariadb-vusers.vgl:

Mariadb-Vusers.vgl
user = dba password = yourpassword hosts = 127.0.0.1 dbname = EmailServer_db query = SELECT 1 von user_tbl wobei E -Mail = "%S" " 

In /etc/postfix/mariadb-valias.vgl:

Mariadb-Valias.vgl
user = dba password = yourpassword hosts = 127.0.0.1 dbname = EmailServer_db query = Ziele aus alias_tbl wobei Source = "%s" auswählen 

Vergessen Sie schließlich nicht, die Berechtigungen in diese Dateien an zu ändern 640:

# Chmod 640/etc/postfix/mariadb-vdomains.CF # Chmod 640/etc/postfix/mariadb-Vusers.CF # Chmod 640/etc/postfix/mariadb-valias.vgl 

Und das Eigentum an den Benutzer Wurzel und Gruppe Postfix:

# Chown Root: Postfix/etc/postfix/mariadb-vdomains.CF # Chown Root: postfix/etc/postfix/mariadb-vusers.CF # Chown Root: postfix/etc/postfix/mariadb-valias.vgl 

Um sichere Verbindungen zu aktivieren, müssen wir als nächstes sicherstellen /etc/postfix/master.vgl:

Meister.vgl
Einreichung inet n -n - - -SMTPD -o Reinigung Unix N - N - 0 Reinigung QMGR UNIX N - N 300 1 QMGR TLSMGR UNIX - - N 1000? 1 TLSMGR RECRITE UNIX - - N - - - Trivial -Wrewrite Bounce Unix - - N - 0 Bounce Defer Unix - - N - 0 Bounce Trace Unix - - N - 0 Bounce Verify Unix - N - 1 Verify Flush Unix N - N 1000? 0 Flush Proxymap Unix - - N - - Proxymap Proxywrite Unix - - N - 1 Proxymap SMTP UNIX - - N - - - SMTP Relay Unix - - N - - SMTP Showq Unix N - - - Showq -Fehler Unix - - - Fehler Wiederholung Unix - - n - - Fehler verwerfen Unix - - N - - Lokale Unix - n n - - Lokale #virtual Unix - n N - - Virtuelle LMTP UNIX - - N - - LMTP ANVIL UNIX - - N - 1 Ambil Scache - UNIX - - n - 1 scache 

Notiz: Die Eindrücke in den Zeilen, die mit dem beginnen Option ist kritisch; Andernfalls gibt die Postfix -Prüfung einen Fehler zurück:

Überprüfen Sie die Postfix -Konfiguration

Fügen Sie vor dem Speichern von Änderungen die folgenden Zeilen unten in der Datei hinzu:

Meister.vgl
DOVECOT UNIX - N N - - Pipe Flags = drhu user = vmail: vmail argv =/usr/libexec/dovecot/liefern -f $ sender -d $ Empfänger 

Zu diesem Zeitpunkt ist es wichtig zu überprüfen Teil 1.

Dazu werden wir die verwenden Postmap Befehl, ein Dienstprogramm zum Testen der Kommunikation mit den Tabellen Postfix wird während des Betriebs nachsehen, aber in erster Linie müssen wir Postfix neu starten:

# Systemctl Postfix Neustart # postmap -q linuxnewz.com mysql:/etc/postfix/mariadb-vdomains.cf # postmap -q Ein andererdomäne.com mysql:/etc/postfix/mariadb-vdomains.CF # postmap -q [E -Mail geschützt] MySQL:/etc/postfix/mariadb -vusers.CF # postmap -q [E -Mail geschützt] MySQL:/etc/postfix/mariadb -vusers.CF # postmap -q [E -Mail geschützt] MySQL:/etc/postfix/mariadb -vusers.CF # postmap -q [E -Mail geschützt] MySQL:/etc/postfix/mariadb -valias.vgl 

Im Bild unten können wir das für vorhandene Datensätze in der Datenbank sehen, a 1 ist zurück gekommen. Ansonsten wird nichts auf den Bildschirm angezeigt. Beachten Sie im Fall des Alias ​​-Checks, dass das tatsächliche E -Mail -Konto, dem der Alias ​​zugeordnet ist, zurückgegeben wird:

Überprüfen Sie die Postfix -Tabellenkommunikation

Beachten Sie, dass wir sind NICHT Authentifizierung mit den für jedes E -Mail -Konto festgelegten Anmeldeinformationen testen wir nur die Fähigkeit von Postfix, diese Datensätze in der Datenbank zu erkennen.

Wenn Sie also eine andere Ausgabe als oben erhalten, stellen Sie sicher, dass Sie ein gültiges Benutzer / Passwort -Paar in verwenden Mariadb-Vomains.vgl, Mariadb-Vusers.vgl, Und Mariadb-Valias.vgl (oder was auch immer Sie sich entschieden haben, diese Dateien anzurufen).

DEVECOT konfigurieren

Als an IMAP / Pop3 Server, Dovecot bietet Benutzern über a eine Möglichkeit E -Mail -Benutzer -Agent (Mua, oder auch als Kunde bekannt), wie z Thunderbird oder Ausblick, Um einige Beispiele zu nennen, um auf ihre Mail zuzugreifen.

Lassen Sie uns zunächst einen Benutzer und eine Gruppe für E -Mails erstellen (wir benötigen dies, da unsere E -Mail -Konten nicht mit einem Systembenutzer zugeordnet sind). Sie können einen anderen verwenden Uid Und Gid (außer 5000 Wie unten), solange es nicht verwendet wird und eine hohe Zahl ist:

# GroupAdd -g 5000 vmail # userAdd -g vmail -U 5000 vmail -d /home /vmail -m 

Die Einstellungen für Dovecot werden über mehrere Konfigurationsdateien aufgeteilt (stellen Sie sicher, dass die folgenden Zeilen nicht kontrolliert werden und / oder so bearbeiten, dass sie den unten angegebenen Einstellungen entsprechen).

In /etc/dovecot/dovecot.Conf:

DEVECOT.vgl
!include_try/usr/share/dovecot/Protokolle.D/*.Protokollprotokolle = IMAP POP3 LMTP !Conf.D/*.Conf !include_try lokal.Conf 

In /etc/dovecot/conf.D/10-auth.Conf (Aktivieren Sie nur die Authentifizierung durch SQL und lassen andere Authentifizierungsmethoden kommentiert):

10-auth.Conf
disable_plaintext_auth = yes auth_mechanismen = Plain Login !einbeziehen auth-sql.Conf.ext 

In /etc/dovecot/conf.D/auth-sql.Conf.ext (Beachten Sie, dass wir E -Mails in einem genannten Verzeichnis speichern werden Deine Domain.com innen /home/vmail, was Sie erstellen müssen, wenn es nicht existiert. In unserem Fall haben wir gemacht mkdir/home/vmail/linuxnewz.com E -Mails für diese Domain verwalten):

Auth-SQL.Conf.ext
PassDB treiber = sql args =/etc/dovecot/dovecot-sql.Conf.ext userdb treiber = static args = uid = vmail gid = vmail home =/home/vmail/%d/%n/maildir 

Einzelne Posteingänge für Benutzerkonten werden erstellt, wenn E -Mails für solche Konten zuerst empfangen werden.

In /etc/dovecot/conf.D/10-Mail.Conf:

10-Mail.Conf
mail_location = maildir:/home/vmail/%d/%n/maildir Namespace -Postbox inbox = yes mail_privileged_group = mail mbox_write_locks = fcntl 

In /etc/dovecot/conf.D/10-Master.Conf:

10-Master.Conf
service imap-login  inet_listener imap  port = 143  inet_listener imaps    service pop3-login  inet_listener pop3  port = 110  inet_listener pop3s    service lmtp  unix_listener /var/spool/postfix/private/dovecot-lmtp modus = 0600 user = postfix Group = postfix service auth = DOVECOT Service Auth-Arbeiter user = vmail Service dict unix_listener dict  

In /etc/dovecot/conf.D/10-SSL.Conf (Ersetzen Sie das Zertifikat und die wichtigsten Pfade, wenn Sie ein von einer CA unterzeichnetes Zertifikat verwenden.)

10-SSL.Conf
SSL = Erforderliche SSL_CERT =  

In /etc/dovecot/dovecot-sql.Conf.ext Geben Sie Ihre Datenbankinformationen und die Anmeldeinformationen des in erstellten administrativen Benutzers ein Teil 1.

Wichtig: Wenn Ihr Passwort ein Sternchen enthält (#), Sie müssen die Verbindungszeichenfolge wie im folgenden Beispiel angegeben einschließen:

DEVECOT-SQL.Conf.ext
Treiber = MySQL Connect = "Host = 127.0.0.1 dbname = EmailServer_DB user = dba password = passwith#hier "default_pass_scheme = sha512-krypt password_query = Select E-Mail als Benutzer, Passwort von user_tbl wobei EMAMEIL ="%u "; 

Darüber hinaus können Sie die Protokollierung für Dovecot konfigurieren, um von Postfix in getrennt zu sein /etc/dovecot/conf.D/10-Loggen.Conf:

log_path =/var/log/doveCot.Protokoll 

Stellen Sie schließlich sicher, dass das DoveCot -Protokoll für den Benutzer zugänglich ist DEVECOT:

# CHOWN VMAIL: DOVECOT/VAR/LOG/DOVECOT.Log # Chmod 660/var/log/doveCot.Protokoll 

Überprüfen und beheben Sie die Postifix -Konfiguration und aktivieren Sie SMTP, POP3 und IMAP in der Firewall

Wenn Sie bei der Konfiguration von Postfix und / oder Dovecot auf Probleme stoßen, anstatt alle Konfigurationsdateien zu senden, um um Hilfe zu bitten, können Sie mit:

# postconf -n # Zusammenfassung für/etc/postfix/main.CF # postconf -m # Zusammenfassung für/etc/postfix/master.CF # doveConf -n # Zusammenfassung aller Konfigurationsdateien für Dovecot 

Stellen Sie außerdem sicher, dass die E -Mail -Posteingänge nach lesbar sind vmail nur:

# Chown -r vmail: vmail /home /vmail 

Konfigurationsdateien sollten auch durch lesbar sein vmail Und DEVECOT Benutzer:

# Chown -r vmail: dovecot /etc /dovecot # chmod -r o -rwx /etc /dovecot 

Stellen Sie schließlich sicher, dass Sie aktivieren SMTP, Pop3, Und IMAP Durch die Firewall:

# Firewall-CMD --add-Port = 143/TCP # Firewall-CMD --add-Port = 143/TCP --permanent # Firewall-CMD --add-Port = 110/TCP # Firewall-CMD --Add- port = 110/tcp --permanent # Firewall-cmd --add-port = 587/tcp # Firewall-cmd --add-port = 587/tcp --permanent 

Konfigurieren Sie Thunderbird als E -Mail -Client für Postfix

Nachdem der Zugriff über die Firewall für die in der E -Mail -Kommunikation verwendeten Ports gesichert wurde, ist es an der Zeit, einen E -Mail -Client zu konfigurieren. Verwendung [E -Mail geschützt] und sein entsprechendes Passwort zusammen mit Post.LinuxNewz.com Als IMAP (oder POP3) und SMTP -Server können wir mit dem Senden und Empfangen von E -Mails an und von einem solchen Konto beginnen:

Postfix: Konfigurieren Sie den Thunderbird -Client

Sie können die angezeigte Warnmeldung, die angezeigt wird, sicher außer Acht lassen, da Sie ein Zertifikat verwenden, das nicht von einer vertrauenswürdigen 3. Party CA unterzeichnet wird:

Thunderbird: Sicherheitsausnahme hinzufügen

Verfassen wir eine kurze Test -E -Mail und klicken Sie auf Senden:

Verfassen Sie eine E -Mail auf Thunderbird

Bestätigen Sie es zuvor nach zuvor, das selbstsignierte Zertifikat für den ausgehenden Server zu akzeptieren:

Thunderbird: SSL -Zertifikat akzeptieren

Gehen Sie schließlich zur Ziel -E -Mail, um festzustellen, ob Sie die gerade gesendete E -Mail erhalten haben. Wenn ja, antworten Sie darauf und prüfen Sie, ob es an den Quell -E -Mail -Posteingang geliefert wird /var/log/Mailog oder das Dovecot -Protokoll bei /var/log/doveCot.Protokoll Für Fehlerbehebungsinformationen):

Überprüfen Sie die Postfix- und Dovecot -E -Mail -Zustellung

Sie haben jetzt einen funktionierenden Postfix- und DoveCot -E -Mail -Server und können E -Mails senden und empfangen.

Zusammenfassung

In diesem Artikel haben wir erklärt, wie Sie Postfix und Dovecot konfigurieren, um den E -Mail -Datenverkehr auf Ihrem Linux -Server zu verarbeiten. Wenn etwas nicht wie in diesem Artikel angegeben funktioniert, nehmen Sie sich Zeit, um die Dokumentation Postfix und DoveCot zu überprüfen.

Bitte beachten Sie, dass das Einrichten eines Postfix -Mailservers keine leichte Aufgabe ist, aber für jeden Systemadministrator eine lohnende Erfahrung ist.

Wenn Sie nach dem Durchlaufen der Dokumente immer noch Probleme haben Postfix und / oder DEVECOT, Fühlen Sie sich frei, uns eine Notiz mit dem folgenden Kommentarformular zu geben, und wir können Ihnen gerne helfen (vergessen Sie nicht, in einen Online -Speicherdienst die Postfix- und DoveCot -Konfiguration hochzuladen, wie sie mit abgerufenen Postkonf Und doveconf wie in diesem Artikel beschrieben).