So konfigurieren Sie Postfix und Dovecot mit virtuellen Domänenbenutzern unter Linux - Teil 2
- 1227
- 247
- Aileen Dylus
Im vorherigen Artikel dieser Serie haben wir erklärt.
Erfordernis:
- Installieren Sie Postfix Mail Server und Dovecot mit MariADB - Teil 1
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:
- /etc/postfix/main.vgl (Postfix -Konfigurationsparameter finden Sie auf Mann 5 Postkonf für mehr Details).
- /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:
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
:
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
:
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
:
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
:
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:
Fügen Sie vor dem Speichern von Änderungen die folgenden Zeilen unten in der Datei hinzu:
Meister.vglDOVECOT 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 -TabellenkommunikationBeachten 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
:
!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):
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):
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
:
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
:
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.)
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
DEVECOT-SQL.Conf.ext(#)
, Sie müssen die Verbindungszeichenfolge wie im folgenden Beispiel angegeben einschließen: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.ProtokollStellen 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 DovecotStellen Sie außerdem sicher, dass die E -Mail -Posteingänge nach lesbar sind vmail nur:
# Chown -r vmail: vmail /home /vmailKonfigurationsdateien sollten auch durch lesbar sein vmail Und DEVECOT Benutzer:
# Chown -r vmail: dovecot /etc /dovecot # chmod -r o -rwx /etc /dovecotStellen 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 --permanentKonfigurieren 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 -ClientSie 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ügenVerfassen wir eine kurze Test -E -Mail und klicken Sie auf Senden:
Verfassen Sie eine E -Mail auf ThunderbirdBestätigen Sie es zuvor nach zuvor, das selbstsignierte Zertifikat für den ausgehenden Server zu akzeptieren:
Thunderbird: SSL -Zertifikat akzeptierenGehen 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 -ZustellungSie 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).
- « Fabric - Automatisieren Sie Ihre Linux -Verwaltungsaufgaben und Anwendungsbereitstellungen über SSH
- So installieren und konfigurieren Sie den RoundCube -Webmail -Client mit virtuellen Benutzern in Postfix - Teil 4 »