GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Hosten Sie mehrere E-Mail-Domänen in PostfixAdmin auf CentOS/RHEL

Dieses Tutorial zeigt Ihnen, wie Sie mehrere E-Mail-Domänen (virtuelles Hosting) auf einem CentOS/RHEL-Server mit PostfixAdmin einrichten, einer webbasierten Open-Source-Schnittstelle zum Konfigurieren und Verwalten eines Postfix-basierten E-Mail-Servers für viele Domänen und Benutzer.

Voraussetzungen

Um diesem Tutorial zu folgen, ist es erforderlich, dass

  • Sie haben PostfixAdmin mit einer Maildomain konfiguriert.
  • Sie haben Teil 4 befolgt, um SPF und DKIM einzurichten.
  • Sie haben Roundcube Webmail installiert.

Sobald die oben genannten Anforderungen erfüllt sind, befolgen Sie die nachstehenden Anweisungen.

Was Sie tun müssen

Wenn Sie mehrere E-Mail-Domains hosten möchten, müssen Sie dies tun

  • Fügen Sie eine neue E-Mail-Domain und einen neuen Benutzer im webbasierten PostfixAdmin-Panel hinzu.
  • Erstellen Sie einen MX-, A- und SPF-Eintrag für die neue E-Mail-Domain.
  • Richten Sie die DKIM-Signatur für die neue Domain ein.
  • DMARC-Eintrag für die neue Domain erstellen.
  • RoundCube Webmail, Postfix und Dovecot für mehrere Domains einrichten
Umgekehrte DNS-Prüfung wird verwendet, um zu prüfen, ob die IP-Adresse des Absenders mit dem HELO-Hostnamen übereinstimmt. Sie müssen keinen weiteren PTR-Eintrag hinzufügen, wenn Sie eine neue E-Mail-Domain hinzufügen.

Schritt 1:Zusätzliche Domains im PostfixAdmin-Panel hinzufügen

Melden Sie sich mit dem Postmaster-Konto im PostfixAdmin-Panel an. (https://postfixadmin.your-domain.com/ ) Gehen Sie dann zu Domain List -> New Domain um eine neue Domain hinzuzufügen.

Beachten Sie, dass die neue Domain einen DNS-A-Eintrag haben sollte, oder PostfixAdmin würde die folgende Fehlermeldung ausgeben. Sie können den DNS-Propagierungsstatus auf dnsmap.io überprüfen.

Invalid domain domain2.com, and/or not discoverable in DNS

Fügen Sie als Nächstes einen Benutzer unter der neuen Domain hinzu.

Schritt 2:MX-, A- und SPF-Record für die neue Mail-Domain erstellen

Fügen Sie in Ihrem DNS-Manager den MX-Eintrag für die neue Domain wie unten hinzu.

Record Type    Name      Value

MX             @         mail.domain2.com

Der A-Eintrag verweist auf die IP-Adresse Ihres Mailservers.

Record Type    Name     Value

A              mail     IP-address-of-mail-server

Wenn Ihr Server eine IPv6-Adresse verwendet, stellen Sie sicher, dass Sie einen AAAA-Eintrag hinzufügen.

Erstellen Sie dann einen SPF-Eintrag, damit der MX-Host E-Mails für die neue E-Mail-Domäne senden kann.

Record Type    Name      Value

TXT            @         v=spf1 mx ~all

Schritt 3:Einrichten der DKIM-Signierung für die neue Domain

In Teil 4 dieser Tutorial-Serie haben wir OpenDKIM für eine einzelne Domain installiert und konfiguriert. Jetzt müssen wir OpenDKIM anweisen, jede ausgehende E-Mail für die neue E-Mail-Domain zu signieren.

Bearbeiten Sie die OpenDKIM-Signaturtabellendatei.

sudo nano /etc/opendkim/SigningTable

Fügen Sie die zweite Domain wie unten beschrieben hinzu.

*@domain1.com       20200308._domainkey.domain1.com
*@domain2.com       20200308._domainkey.domain2.com

Bearbeiten Sie die Schlüsseltabellendatei.

sudo nano /etc/opendkim/KeyTable

Fügen Sie die zweite Domain wie unten beschrieben hinzu.

20200308._domainkey.domain1.com     domain1.com:20200308:/etc/opendkim/keys/domain1.com/20200308.private
20200308._domainkey.domain2.com     domain2.com:20200308:/etc/opendkim/keys/domain2.com/20200308.private

Bearbeiten Sie die Datei für vertrauenswürdige Hosts.

sudo nano /etc/opendkim/TrustedHosts

Fügen Sie die zweite Domain wie unten beschrieben hinzu.

127.0.0.1
localhost

*.domain1.com
*.domain2.com

Als nächstes müssen wir ein privates/öffentliches Schlüsselpaar für die zweite Domain generieren. Erstellen Sie einen separaten Ordner für die zweite Domain.

sudo mkdir /etc/opendkim/keys/domain2.com

Generieren Sie Schlüssel mit opendkim-genkey Werkzeug.

sudo opendkim-genkey -b 2048 -d domain2.com -D /etc/opendkim/keys/domain2.com -s 20200308 -v

Der obige Befehl erstellt 2048-Bit-Schlüssel. -d (domain) gibt die Domäne an. -D (directory) gibt das Verzeichnis an, in dem die Schlüssel gespeichert werden, und wir verwenden 20200308 (aktuelles Datum) als selector (-s) . Sobald der Befehl ausgeführt wird, wird der private Schlüssel in 20200308.private geschrieben Datei und der öffentliche Schlüssel wird in 20200308.txt geschrieben Datei.

Machen Sie opendkim als Eigentümer des privaten Schlüssels.

sudo chown opendkim:opendkim /etc/opendkim/keys/domain2.com/20200308.private

Anzeige des öffentlichen Schlüssels

sudo cat /etc/opendkim/keys/domain2.com/20200308.txt

Die Zeichenfolge nach dem p Parameter ist der öffentliche Schlüssel.

Erstellen Sie in Ihrem DNS-Manager einen TXT-Eintrag für die zweite Domain. Geben Sie 20200308._domainkey ein im Namensfeld. Kopieren Sie alles in den Klammern und fügen Sie es in das Wertfeld ein. Löschen Sie alle doppelten Anführungszeichen. (Sie können es zuerst in einen Texteditor einfügen, alle doppelten Anführungszeichen löschen und es dann in Ihren DNS-Manager kopieren. Ihr DNS-Manager fordert Sie möglicherweise auf, andere ungültige Zeichen zu löschen, z. B. Wagenrücklauf.)

Nach dem Speichern Ihrer Änderungen. Überprüfen Sie den TXT-Eintrag mit diesem Befehl.

dig TXT 20203008._domainkey.domain2.com

Jetzt können Sie den folgenden Befehl ausführen, um zu testen, ob Ihr DKIM-DNS-Eintrag korrekt ist.

sudo opendkim-testkey -d domain2.com -s 20200308 -vvv

Wenn alles in Ordnung ist, sehen Sie

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key '20203008._domainkey.domain2.com'
opendkim-testkey: key secure
opendkim-testkey: key OK

Wenn Sie „Schlüssel nicht sicher“ sehen, geraten Sie nicht in Panik. Dies liegt daran, dass DNSSEC für Ihren Domainnamen nicht aktiviert ist. DNSSEC ist ein Sicherheitsstandard für sichere DNS-Abfragen. Die meisten Domainnamen haben DNSSEC nicht aktiviert. Sie können dieser Anleitung weiterhin folgen.

Starten Sie OpenDKIM neu, damit es mit dem Signieren von E-Mails für die zweite Domain beginnt.

sudo systemctl restart opendkim

Schritt 4:DMARC-Eintrag für die neue Domain erstellen

Um einen DMARC-Eintrag zu erstellen, gehen Sie zu Ihrem DNS-Manager und fügen Sie ein TXT hinzu Aufzeichnung. Geben Sie im Namensfeld _dmarc ein . Geben Sie im Wertfeld Folgendes ein. Beachten Sie, dass Sie den [email protected] erstellen müssen E-Mail-Adresse.

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

Der obige DMARC-Eintrag ist ein sicherer Ausgangspunkt. Wenn Sie eine detaillierte Erklärung von DMARC lesen möchten, lesen Sie bitte den folgenden Artikel.

  • Erstellen eines DMARC-Eintrags zum Schutz Ihres Domainnamens vor E-Mail-Spoofing

Schritt 5:Einrichten von RoundCube, Postfix und Dovecot für mehrere Domains

Ich nehme an, Sie haben Roundcube Webmail für die erste E-Mail-Domain installiert.

Es ist sinnvoll, Benutzern der ersten Domain die Verwendung von mail.domain1.com zu ermöglichen und Benutzer der zweiten Domäne verwenden mail.domain2.com bei Verwendung von RoundCube-Webmail. Ich zeige Ihnen, wie es mit Apache und Nginx geht.

Apache

Wenn Roundcube vom Apache-Webserver bereitgestellt wird, erstellen Sie einen virtuellen Host für die zweite Domain.

sudo nano /etc/httpd/conf.d/mail.domain2.com.conf

Fügen Sie den folgenden Text in die Datei ein.

<VirtualHost *:80>
  ServerName mail.domain2.com
  DocumentRoot /var/www/roundcube/

  ErrorLog /var/log/httpd/mail.domain2.com_error.log
  CustomLog /var/log/httpd/mail.domain2.com_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/roundcube/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

Speichern und schließen Sie die Datei. Laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reload httpd

Nginx

Wenn Roundcube vom Nginx-Webserver bereitgestellt wird, erstellen Sie einen virtuellen Host für die zweite Domain.

sudo nano /etc/nginx/conf.d/mail.domain2.com.conf

Fügen Sie den folgenden Text in die Datei ein.

server {
  listen 80;
  server_name mail.domain2.com;
  root /var/www/roundcube/;
  index index.php index.html index.htm;

  error_log /var/log/nginx/roundcube.error;
  access_log /var/log/nginx/roundcube.access;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ \.php$ {
   try_files $uri =404;
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  location ~ /.well-known/acme-challenge {
    allow all;
  }
 location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
    deny all;
  }
  location ~ ^/(bin|SQL)/ {
    deny all;
  }
 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.

sudo systemctl reload nginx

Erhalten des TLS-Zertifikats

Verwenden Sie jetzt Certbot, um ein TLS-Zertifikat für alle Ihre E-Mail-Domänen zu erhalten, sodass Sie ein einziges TLS-Zertifikat mit mehreren Domänennamen darauf haben und E-Mail-Clients keine Sicherheitswarnungen ausgeben.

Apache

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Nginx

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email [email protected]

Beachten Sie, dass wir im obigen Befehl den Zertifikatsnamen mit der ersten E-Mail-Domäne angegeben haben, die im Dateipfad verwendet wird, sodass Sie den Dateipfad in der Postfix- oder Dovecot-Konfigurationsdatei nicht ändern müssen.

Wenn Sie gefragt werden, ob Sie das vorhandene Zertifikat aktualisieren möchten, um die neue Domäne aufzunehmen, antworten Sie mit U und drücken Sie die Eingabetaste.

Jetzt sollten Sie die folgende Meldung sehen, die darauf hinweist, dass das Multi-Domain-Zertifikat erfolgreich abgerufen wurde.

Laden Sie Apache oder Nginx neu, um das neue Zertifikat abzurufen.

sudo systemctl reload httpd
sudo systemctl reload nginx

Sie sollten nun in der Lage sein, verschiedene Domains für den Zugriff auf RoundCube-Webmail zu verwenden. Außerdem müssen Sie den Postfix-SMTP-Server und den Dovecot-IMAP-Server neu laden, damit sie das neue Zertifikat abrufen können. Das ist alles, was Sie tun müssen, damit Postfix und Dovecot mehrere Domains bedienen können.

sudo systemctl reload postfix dovecot

Mail-Client auf Ihrem Computer oder Mobilgerät verwenden

Starten Sie Ihren Desktop-E-Mail-Client wie Mozilla Thunderbird und fügen Sie ein E-Mail-Konto der zweiten Domain hinzu.

  • Wählen Sie im Abschnitt für eingehende Server das IMAP-Protokoll aus und geben Sie mail.domain2.com ein Wählen Sie als Servernamen Port 143 und STARTTLS. Wählen Sie normal password als Authentifizierungsmethode.
  • Wählen Sie im ausgehenden Abschnitt das SMTP-Protokoll aus und geben Sie mail.domain2.com ein Wählen Sie als Servernamen Port 587 und STARTTLS. Wählen Sie normal password als Authentifizierungsmethode.

Hinweis :Sie können auch Port 993 mit SSL/TLS-Verschlüsselung für IMAP und Port 465 mit SSL/TLS-Verschlüsselung für SMTP verwenden. Das sollten Sie nicht Verwenden Sie Port 25 als SMTP-Port, um ausgehende E-Mails zu übermitteln.

Obwohl Postfix-SMTP-Server und Dovecot-IMAP-Server bei der Kommunikation mit anderen den Hostnamen der ersten E-Mail-Domain (mail.domain1.com) verwenden, verwenden sie jetzt ein Multi-Domain-Zertifikat, sodass der E-Mail-Client keine Zertifikatswarnungen anzeigt.

SPF- und DKIM-Prüfung

Jetzt können Sie Ihren Desktop-E-Mail-Client oder Webmail-Client verwenden, um eine Test-E-Mail an [email protected] zu senden und erhalten Sie einen kostenlosen E-Mail-Authentifizierungsbericht. Hier ist der Bericht, den ich von port25.com erhalten habe

Vergessen Sie nicht, Ihren E-Mail-Score unter https://www.mail-tester.com zu testen und auch die E-Mail-Platzierung mit GlockApps zu testen.

Wenn die DKIM-Prüfung fehlschlägt, können Sie unter https://www.dmarcanalyzer.com/dkim/dkim-check/ nachsehen, ob es Fehler in Ihrem DKIM-Eintrag gibt.

Was ist, wenn Ihre E-Mails immer noch als Spam markiert werden?

In diesem Artikel habe ich weitere Tipps für Sie:7 effektive Tipps, um zu verhindern, dass Ihre E-Mails als Spam markiert werden. Obwohl es einige Zeit und Mühe erfordert, werden Ihre E-Mails schließlich im Posteingang platziert, nachdem Sie diese Tipps angewendet haben.

rDNS für mehrere E-Mail-Domains?

Reverse DNS (rDNS), auch bekannt als PTR-Eintrag, wird verwendet, um zu überprüfen, ob die IP-Adresse des Absenders mit dem HELO-Hostnamen übereinstimmt. Sie müssen keinen weiteren PTR-Eintrag hinzufügen, wenn Sie eine neue E-Mail-Domain hinzufügen. Ihr rDNS sollte auf nur einen Hostnamen eingestellt sein, d. h. den in Postfix festgelegten Hostnamen, der mit dem folgenden Befehl angezeigt werden kann.

postconf myhostname

rDNS ist ein Datensatz für IP-Adressen. Es ist kein Eintrag für den Domainnamen. Wenn Sie nur eine IP-Adresse haben, benötigen Sie nur einen rDNS-Eintrag, der auf einen Hostnamen verweist. Die umgekehrte DNS-Prüfung überprüft nicht, was From: ist Domain in Ihrer E-Mail ist, solange Ihre IP-Adresse einen rDNS-Eintrag hat und der Hostname wieder auf dieselbe IP-Adresse aufgelöst werden kann, können Sie die Reverse-DNS-Prüfung bestehen.

Außerdem müssen Sie die folgenden Einstellungen in Postfix nicht ändern, wenn Sie mehrere Domains auf einem Server hosten.

  • meinhostname
  • meinUrsprung
  • mein Ziel

Gehostete E-Mail-Dienste wie G Suite und Microsoft Exchange Online alle verwenden einen Hostnamen für einen Server, um eine E-Mail für ihre Kunden zu senden. E-Mails, die von G Suite-Nutzern gesendet werden, verwenden alle google.com im Hostnamen und in E-Mails, die von Microsoft Exchange Online-Benutzern gesendet werden, verwenden alle outlook.com im Hostnamen. Dies gilt auch für andere E-Mail-Dienstanbieter wie Mailchimp, SendinBlue, SendPluse usw. Sie alle verwenden einen Hostnamen für einen einzelnen Server und eine IP-Adresse hat nur einen rDNS-Eintrag.


Cent OS
  1. Wie kann ich mehrere Domains hosten?

  2. So richten Sie eine Subdomain ein oder hosten mehrere Domains mit nginx auf einem Linux-Server

  3. So richten Sie Mutt in CentOS/RHEL ein

  4. LSB konnte nicht gestartet werden:Netzwerk hoch-/herunterfahren – Beim Neustart des Netzwerkdienstes CentOS/RHEL (DHCP-Client)

  5. So konfigurieren Sie sssd für die Arbeit mit mehreren Active Directory-Domänen in verschiedenen Gesamtstrukturen (CentOS/RHEL)

So installieren Sie den Zimbra-Mailserver unter CentOS 8 / RHEL 8

So hosten Sie mehrere Websites in einer einzigen Wordpress-Installation unter CentOS 7

Hosten Sie mehrere E-Mail-Domänen in PostfixAdmin auf CentOS/RHEL

Teil 3:PostfixAdmin – Virtuelle Postfächer auf CentOS 8/RHEL 8 Mailserver erstellen

So installieren Sie den Mailserver mit PostfixAdmin unter CentOS 7

Addon Domain cPanel:So hosten Sie zusätzliche Domains