GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie schnell einen Mailserver unter Ubuntu 20.04 mit Modoboa ein

Dieses Tutorial zeigt Ihnen, wie Sie schnell Ihren eigenen E-Mail-Server unter Ubuntu 20.04 mit Modoboa einrichten, einer kostenlosen und Open-Source-E-Mail-Hosting- und Verwaltungsplattform, die für die Arbeit mit dem Postfix-SMTP-Server und dem Dovecot-IMAP/POP3-Server entwickelt wurde.

Modoboa ist in Python geschrieben und unter den Bedingungen der ISC-Lizenz veröffentlicht. Die neueste Version ist v1.16.0, veröffentlicht am 5. Oktober 2020. Die Hauptfunktionen von Modoboa sind wie folgt:

  • Modoboa verwendet standardmäßig Nginx Webserver für den Webmail-Client und das webbasierte Admin-Panel.
  • Kompatibel mit Postfix und Dovecot.
  • Unterstützt MySQL/MariaDB oder PostgreSQL-Datenbank.
  • Erstellen Sie ganz einfach unbegrenzte Postfächer und unbegrenzte E-Mail-Domains in einem webbasierten Admin-Panel.
  • Erstellen Sie einfach E-Mail-Alias ​​im webbasierten Admin-Panel.
  • Der Webmail-Client bietet einen benutzerfreundlichen Nachrichtenfilter, mit dem Sie Nachrichten in verschiedenen Ordnern organisieren können.
  • Es kann Ihnen helfen, den Ruf Ihrer Domain zu schützen, indem es E-Mail-Blacklists überwacht und DMARC-Berichte generiert, sodass Ihre E-Mails eine bessere Chance haben, im Posteingang statt im Spam-Ordner zu landen.
  • Beinhaltet ein Amavis-Frontend, um Spam zu blockieren und Viren in E-Mails zu erkennen.
  • Kalender und Adressbuch.
  • Integration mit Let’s Encrypt.
  • Ein Richtlinien-Daemon für Postfix, mit dem Sie tägliche Sendelimits für Domains und individuelle Konten definieren können.
  • Enthält AutoMX, damit Endnutzer E-Mail-Konten einfach in einem Desktop- oder mobilen E-Mail-Client konfigurieren können.

Schritt 1:Wählen Sie den richtigen Hosting-Provider und kaufen Sie einen Domainnamen

Um einen vollständigen E-Mail-Server mit Modoboa einzurichten, benötigen Sie einen Server mit mindestens 3 GB RAM, da Ihr Server nach der Installation mehr als 2 GB RAM verwendet.

Es wird dringend empfohlen, Modoboa auf einer sauberen Installation von zu installieren Ubuntu 20.04 Server.

Dieses Tutorial wird auf einem Kamatera VPS (virtueller privater Server) mit 1 CPU und 3 GB RAM für 9 $/Monat durchgeführt. Sie bieten eine 30-tägige kostenlose Testversion an.

Kamatera ist eine sehr gute Option, um einen Mailserver zu betreiben, weil

  • Sie blockieren Port 25 nicht , sodass Sie unbegrenzt E-Mails (Transaktions-E-Mails und Newsletter) versenden können, ohne Geld für den SMTP-Relay-Dienst auszugeben. Kamatera hat keine SMTP-Limits. Sie können eine Million E-Mails pro Tag versenden.
  • Die IP-Adresse steht auf keiner E-Mail-Blacklist . (Zumindest trifft das in meinem Fall zu. Ich habe mich für das Rechenzentrum in Dallas entschieden.) Sie möchten definitiv nicht auf der gefürchteten IP-Blacklist von Microsoft Outlook oder der Blacklist von Spamrats aufgeführt werden. Einige Blacklists blockieren einen ganzen IP-Bereich und Sie haben keine Möglichkeit, Ihre IP-Adresse von dieser Art von Blacklist zu entfernen.
  • Sie können den PTR-Eintrag bearbeiten, um die E-Mail-Zustellbarkeit zu verbessern.
  • Sie ermöglichen es Ihnen, Newsletter zu versenden an Ihre E-Mail-Abonnenten mit nein Stundenlimits oder Tageslimits, was auch immer.
  • Sie können mehrere IP-Adressen für einen einzelnen Server bestellen. Dies ist sehr nützlich für Leute, die eine große Menge an E-Mails senden müssen. Sie können den E-Mail-Verkehr auf mehrere IP-Adressen verteilen, um eine bessere E-Mail-Zustellbarkeit zu erreichen.

Andere VPS-Anbieter wie DigitalOcean blockieren Port 25. DigitalOcean würde Port 25 nicht entsperren, daher müssen Sie ein SMTP-Relay einrichten, um die Blockierung zu umgehen, was Sie zusätzliches Geld kosten kann. Wenn Sie Vultr VPS verwenden, ist Port 25 standardmäßig blockiert. Sie können es entsperren, wenn Sie ein Support-Ticket öffnen, aber sie können es jederzeit wieder blockieren, wenn sie entscheiden, dass Ihre E-Mail-Sendeaktivität nicht erlaubt ist. Vultr kann es tatsächlich erneut blockieren, wenn Sie ihre Server zum Versenden von Newslettern verwenden.

Gehen Sie zur Kamatera-Website, um ein Konto zu erstellen, und erstellen Sie dann Ihren Server in Ihrem Konto-Dashboard.

Ich empfehle, das unten verlinkte Tutorial zu befolgen, um Ihren Linux-VPS-Server auf Kamatera richtig einzurichten.

  • So erstellen Sie einen Linux-VPS-Server auf Kamatera

Sobald Sie einen Server erstellt haben, sendet Ihnen Kamatera eine E-Mail mit den SSH-Anmeldedaten des Servers. Um sich bei Ihrem Server anzumelden, verwenden Sie einen SSH-Client. Wenn Sie Linux oder macOS auf Ihrem Computer verwenden, öffnen Sie einfach ein Terminalfenster und führen Sie den folgenden Befehl aus, um sich bei Ihrem Server anzumelden. Ersetzen Sie 12.34.56.78 durch die IP-Adresse Ihres Servers.

ssh [E-Mail-geschützt]

Sie werden aufgefordert, das Passwort einzugeben.

Außerdem benötigen Sie einen Domänennamen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie Whois-Datenschutz lebenslang kostenlos anbieten.

Schritt 2:DNS-MX-Eintrag erstellen

Der MX-Eintrag gibt an, welcher Host oder welche Hosts E-Mails für einen bestimmten Domainnamen verarbeiten. Zum Beispiel der Host, der E-Mails für linuxbabe.com verarbeitet ist mail.linuxbabe.com . Wenn jemand mit einem Gmail-Konto eine E-Mail an [email protected] sendet , dann fragt der Gmail-Server den MX-Eintrag von linuxbabe.com ab. Wenn es herausfindet, dass mail.linuxbabe.com für die Annahme von E-Mails zuständig ist, fragt es dann den A-Eintrag von mail.linuxbabe.com ab um die IP-Adresse zu erhalten, damit die E-Mail zugestellt werden kann.

Erstellen Sie in Ihrem DNS-Manager einen MX-Eintrag für Ihren Domainnamen. Geben Sie @ ein Geben Sie im Feld Name den Hauptdomänennamen ein und geben Sie dann mail.your-domain.com ein im Feld Wert.

Hinweis :Der Hostname für den MX-Eintrag darf kein Alias ​​für einen anderen Namen sein. Außerdem wird dringend empfohlen, Hostnamen statt bloßer IP-Adressen für MX-Einträge zu verwenden.

Ihr DNS-Manager fordert Sie möglicherweise auf, einen Präferenzwert (auch bekannt als Prioritätswert) einzugeben. Es kann eine beliebige Zahl zwischen 0 sein und 65,356 . Eine kleine Zahl hat eine höhere Priorität als eine große Zahl. Sie können 0 eingeben für Ihren E-Mail-Server oder akzeptieren Sie den Standardwert.

Nachdem Sie den MX-Eintrag erstellt haben, müssen Sie auch einen A-Eintrag für mail.your-domain.com erstellen , damit sie in eine IP-Adresse aufgelöst werden kann. Wenn Ihr Server eine IPv6-Adresse verwendet, stellen Sie sicher, dass Sie einen AAAA-Eintrag hinzufügen.

Wenn Sie den Cloudflare-DNS-Dienst verwenden, sollten Sie die Proxy-Funktion nicht aktivieren, wenn Sie einen A-Eintrag für Ihren Mailserver erstellen. Cloudflare unterstützt keinen SMTP/IMAP-Proxy.

Schritt 3:Mailserver auf Ubuntu 20.04 mit Modoboa Installer einrichten

Melden Sie sich über SSH bei Ihrem Server an und führen Sie dann den folgenden Befehl aus, um Softwarepakete zu aktualisieren.

sudo apt-Aktualisierung; sudo apt upgrade -y

Ich empfehle dringend, ein sudo zu erstellen Benutzer für die Verwaltung Ihres Servers, anstatt den standardmäßigen root zu verwenden Benutzer, um die Serversicherheit zu verbessern. Führen Sie den folgenden Befehl aus, um einen Benutzer zu erstellen. Ersetzen Sie username mit Ihrem bevorzugten Benutzernamen.

adduser Benutzername

Fügen Sie dann den Benutzer zum sudo hinzu Gruppe.

adduser Benutzername sudo

Wechseln Sie zum neuen Benutzer.

su - Benutzername

Laden Sie das Modoboa-Installationsprogramm von Github herunter.

git-Klon https://github.com/modoboa/modoboa-installer

Modoboa ist in Python geschrieben. Führen Sie den folgenden Befehl aus, um die erforderliche Python-Software zu installieren.

sudo apt-get install python3-virtualenv python3-pip

Navigieren Sie dann zum modoboa-installer Verzeichnis und erstellen Sie eine Konfigurationsdatei. Ersetzen Sie example.com mit Ihrem eigenen Domainnamen.

cd modoboa-installersudo python3 ./run.py --stop-after-configfile-check example.com

Bearbeiten Sie die Konfigurationsdatei installer.cfg mit einem Befehlszeilen-Texteditor wie Nano.

sudo nano installer.cfg

Um ein gültiges TLS-Zertifikat von Let’s Encrypt für Ihren Mailserver zu erhalten, in [certificate] ändern Sie den Wert von type von self-signed zu letsencrypt .

type =letsencrypt

Und ändern Sie die E-Mail-Adresse von [email protected] an Ihre echte E-Mail-Adresse, die für die Kontowiederherstellung und wichtige Benachrichtigungen verwendet wird. Sie können das Let’s Encrypt-Zertifikat nicht erhalten und installieren, wenn Sie die Standard-E-Mail-Adresse verwenden.

Standardmäßig installiert das Modoboa-Installationsprogramm den PostgreSQL-Datenbankserver, wie in den folgenden Zeilen in der Konfigurationsdatei angegeben.

[Datenbank]engine =postgres host =127.0.0.1install =true

Wenn Sie den MariaDB-Datenbankserver verwenden möchten, ändern Sie die Engine von postgres zu mysql . (Modoboa installiert MariaDB anstelle von MySQL.)

Speichern und schließen Sie die Datei. (Um eine Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O , und drücken Sie dann Enter bestätigen. Drücken Sie zum Beenden Ctrl+X .)

Als Nächstes sollten Sie einen vollständig qualifizierten Domänennamen (FQDN) als Hostnamen für Ihren Mailserver verwenden, z. B. mail.example.com . Führen Sie den folgenden Befehl aus, um den Hostnamen festzulegen.

sudo hostnamectl set-hostname mail.example.com

Jetzt müssen wir überprüfen, ob die DNS-Einträge an das Internet weitergegeben werden. Abhängig von der von Ihnen verwendeten Domänenregistrierungsstelle wird Ihr DNS-Eintrag möglicherweise sofort weitergegeben oder es kann bis zu 24 Stunden dauern, bis er weitergegeben wird. Sie können zu https://dnsmap.io gehen und den Hostnamen Ihres Mailservers eingeben (mail.example.com ), um die DNS-Weitergabe zu überprüfen.

Wenn Ihr DNS-Eintrag weitergegeben wird, führen Sie den folgenden Befehl aus, um die Installation zu starten. (Bitte ersetzen Sie example.com mit Ihrem Hauptdomänennamen wie linuxbabe.com . Verwenden Sie nicht die Subdomain mail.example.com in diesem Befehl).

sudo python3 ./run.py --interactive example.com

Der Installationsvorgang kann eine Weile dauern. Auf meinem Server hat es 10 Minuten gedauert. Wenn Sie während der Installation einen Fehler sehen, können Sie --debug verwenden Option, um eine detailliertere Ausgabe anzuzeigen.

sudo python3 ./run.py --interactive --debug example.com

Nachdem Modoboa die Installation abgeschlossen hat, können Sie sich mit dem Benutzernamen admin im Admin-Panel anmelden und Passwort password .

  • Wenn Ihr Browser keine Verbindung zum Admin-Panel herstellen kann, kann es sein, dass Nginx nicht läuft. Starten Sie es mit sudo systemctl restart nginx . Wenn es nicht gestartet werden kann, führen Sie sudo nginx -t aus um herauszufinden, was falsch ist.
  • Wenn Sie den internen Fehler sehen verwenden Sie bitte die Lösung hier.

Sobald Sie eingeloggt sind, sollten Sie zu Admin gehen -> Settings -> Profile um das Passwort zu ändern.

Fehler beim Abrufen des TLS-Zertifikats von Let’s Encrypt

Wenn Sie sudo ngixn -t ausführen Befehl und erhalte den folgenden Fehler,

nginx:[emerg] kann das Zertifikat „/etc/letsencrypt/live/mail.example.com/fullchain.pem“ nicht laden:BIO_new_file() fehlgeschlagen (SSL:error:02001002:system library:fopen:No suc> nginx :Konfigurationsdatei /etc/nginx/nginx.conf test failedFailed to start A high performance web server and a reverse proxy server

Es ist wahrscheinlich, dass Ihr Server kein Let’s Encrypt TLS-Zertifikat erhalten hat. Führen Sie den folgenden Befehl aus, um das Problem zu beheben.

sudo systemctl stop nginxsudo ufw allow httpsudo ufw allow httpssudo certbot certonly --standalone --agree-tos --redirect --hsts --staple-ocsp -d mail.your-domain.comsudo systemctl restart nginx postfix dovecot 

Schritt 4:Hinzufügen von Postfächern im Modoboa-Adminbereich

Gehen Sie zu Domains und klicken Sie auf Add Schaltfläche, um eine neue Domain hinzuzufügen.

Geben Sie dann Ihren Hauptdomänennamen in das Feld Name ein. Es wird dringend empfohlen, die DKIM-Signierung zu aktivieren , was zu Ihrer Domain-Reputation beitragen kann. In Key selector Feld können Sie ein zufälliges Wort wie modoboa eingeben . Wählen Sie 2048 als Schlüssellänge.

Auf dem nächsten Bildschirm können Sie ein Administratorkonto für Ihre Domain erstellen. Das SMTP-Protokoll erfordert, dass ein E-Mail-Server über einen [email protected] verfügen sollte Adresse.

Klicken Sie auf die Schaltfläche Senden und Ihr Domainname wird in Modoboa hinzugefügt.

Beachten Sie, dass die Standardeinstellung admin Das während der Installation erstellte Konto ist kein E-Mail-Konto. Um E-Mail-Adressen hinzuzufügen, gehen Sie zu Domains und klicken Sie auf Ihren Domainnamen.

Klicken Sie dann auf Postfächer.

Klicken Sie auf Add und wählen Sie Account .

Wählen Sie dann Simple user als Rolle. Geben Sie eine E-Mail-Adresse in das Feld Benutzername und ein Passwort ein.

Im nächsten Bildschirm können Sie optional einen Alias ​​für diese E-Mail-Adresse erstellen.

Nachdem Sie auf die Schaltfläche „Senden“ geklickt haben, wird die E-Mail-Adresse erstellt.

Schritt 5:Test-E-Mails senden

Um sich bei Webmail anzumelden, müssen Sie sich zuerst vom Administratorkonto abmelden und dann die Benutzerdaten eingeben.

Sobald Sie bei Modoboa Webmail angemeldet sind, können Sie eine Test-E-Mail von Ihrem privaten E-Mail-Server an Ihre andere E-Mail-Adresse senden und umgekehrt.

Eingehende E-Mails werden einige Minuten verzögert, da Modoboa standardmäßig Greylisting aktiviert, das andere sendende SMTP-Server anweist, es in einigen Minuten erneut zu versuchen. Dies ist nützlich, um Spam zu blockieren. Die folgende Nachricht in /var/log/mail.log zeigt an, dass Greylisting aktiviert ist.

postfix/postscreen[20995]:NOQUEUE:ablehnen:RCPT von [34.209.113.130]:36980:450 4.3.2 Dienst derzeit nicht verfügbar;

Greylisting kann jedoch ziemlich lästig sein. Sie können es deaktivieren, indem Sie die Hauptkonfigurationsdatei von Postfix bearbeiten.

sudo nano /etc/postfix/main.cf

Suchen Sie die folgenden Zeilen am Ende der Datei und kommentieren Sie sie aus. (Fügen Sie am Anfang jeder Zeile ein #-Zeichen ein.)

postscreen_pipelining_enable =japostscreen_pipelining_action =erzwingenpostscreen_non_smtp_command_enable =japostscreen_non_smtp_command_action =erzwingenpostscreen_bare_newline_enable =japostscreen_bare_newline_action =erzwingen

Speichern und schließen Sie die Datei. Starten Sie dann Postfix neu, damit die Änderungen wirksam werden.

sudo systemctl reset postfix

Jetzt sollten Sie E-Mails empfangen können, ohne mehrere Minuten warten zu müssen.

Auslagerungsbereich hinzufügen

ClamAV wird verwendet, um Viren in E-Mail-Nachrichten zu scannen. ClamAV kann ziemlich viel RAM verwenden. Wenn auf Ihrem Server nicht genügend RAM vorhanden ist, funktioniert ClamAV nicht richtig, was Ihren Mailserver daran hindert, E-Mails zu senden. Sie können Ihrem Server eine Auslagerungsdatei hinzufügen, um den Gesamt-RAM auf Ihrem Server zu erhöhen. (Beachten Sie, dass die Verwendung von Auslagerungsspeicher auf dem Server die Serverleistung beeinträchtigt. Wenn Sie eine bessere Leistung wünschen, sollten Sie den physischen Arbeitsspeicher aufrüsten, anstatt Auslagerungsspeicher zu verwenden.)

Um Auslagerungsspeicher auf dem Server hinzuzufügen, verwenden Sie zuerst fallocate Befehl zum Erstellen einer Datei. Erstellen Sie beispielsweise eine Datei namens swapfile mit einer Kapazität von 1 GB im Root-Dateisystem:

sudo fallocate -l 1G /swapfile

Stellen Sie dann sicher, dass nur root darauf lesen und schreiben kann.

sudo chmod 600 /swapfile

Zum Tauschen formatieren:

sudo mkswap /swapfile

Ausgabe:

Einrichtung von Swapspace Version 1, Größe =1024 MiB (1073737728 Bytes) ohne Label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

Aktivieren Sie die Auslagerungsdatei

sudo swapon /swapfile

Um den Auslagerungsbereich beim Systemstart bereitzustellen, bearbeiten Sie die Datei /etc/fstab Datei.

sudo nano /etc/fstab

Fügen Sie die folgende Zeile am Ende dieser Datei hinzu.

/swapfile swap Swap-Standardwerte 0 0

Speichern und schließen Sie die Datei. Laden Sie dann systemd neu und starten Sie ClamAV neu.

sudo systemctl daemon-reloadsudo systemctl restart clamav-daemon

Schritt 6:Prüfen, ob Port 25 (ausgehend) blockiert ist

Ihr ISP oder Hosting-Provider blockiert eingehende Verbindungen zu Port 25 Ihres Servers nicht, was bedeutet, dass Sie E-Mails von anderen Mailservern empfangen können. Viele ISP/Hosting-Anbieter blockieren jedoch ausgehende Verbindungen zu Port 25 anderer Mailserver, was bedeutet, dass Sie keine E-Mails senden können.

Wenn Ihre E-Mail nicht an Ihrer anderen E-Mail-Adresse wie Google Mail angekommen ist, führen Sie den folgenden Befehl auf Ihrem E-Mail-Server aus, um zu überprüfen, ob Port 25 (ausgehend) blockiert ist.

telnet gmail-smtp-in.l.google.com 25

Wenn es nicht blockiert ist, sehen Sie Nachrichten wie unten, die darauf hinweisen, dass eine Verbindung erfolgreich hergestellt wurde. (Hinweis:Geben Sie quit ein und drücken Sie die Eingabetaste, um die Verbindung zu schließen.)

Trying 74.125.68.26...Connected to gmail-smtp-in.l.google.com.Escape-Zeichen ist '^]'.220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Wenn Port 25 (ausgehend) blockiert ist, sehen Sie so etwas wie:

Versuche 2607:f8b0:400e:c06::1a...Versuche 74.125.195.27...telnet:Verbindung zum Remotehost nicht möglich:Zeitüberschreitung der Verbindung

In diesem Fall kann Ihr Postfix keine E-Mails an andere SMTP-Server senden. Bitten Sie Ihren ISP/Hosting-Provider, es für Sie zu öffnen. Wenn sie Ihre Anfrage ablehnen, müssen Sie ein SMTP-Relay einrichten, um die Blockierung von Port 25 zu umgehen.

Sie können immer noch keine E-Mail senden?

Wenn Port 25 (ausgehend) nicht blockiert ist, Sie aber trotzdem keine E-Mails von Ihrem eigenen Mailserver an Ihre andere E-Mail-Adresse wie Gmail senden können, sollten Sie das E-Mail-Protokoll (/var/log/mail.log ).

sudo nano /var/log/mail.log

Einige Leute könnten zum Beispiel die folgenden Zeilen in der Datei sehen.

Host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] sagte:550-5.7.1 [2a0d:7c40:3000:b8b::2] Unser Das System hat festgestellt, dass 550-5.7.1 diese Nachricht nicht den IPv6-Senderichtlinien bezüglich PTR 550-5.7.1-Aufzeichnungen und Authentifizierung entspricht . Weitere Informationen finden Sie unter 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError

Dies bedeutet, dass Ihr E-Mail-Server IPv6 zum Senden der E-Mail verwendet, Sie jedoch keine IPv6-Einträge eingerichtet haben. Sie sollten zu Ihrem DNS-Manager gehen und AAAA einstellen Eintrag für mail.your-domain.com , dann sollten Sie PTR setzen record für Ihre IPv6-Adresse, die in Schritt 8 besprochen wird.

Schritt 7:Mail-Clients 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 hinzu.

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

Sie können auch IMAP auf Port 143 mit STARTTLS-Verschlüsselung verwenden.

Schritt 8:E-Mail-Zustellbarkeit verbessern

Um zu verhindern, dass Ihre E-Mails als Spam gekennzeichnet werden, sollten Sie PTR setzen , SPF , DKIM und DMARC Aufzeichnungen.

PTR-Eintrag

Ein Zeigerdatensatz oder PTR-Datensatz ordnet eine IP-Adresse einem FQDN (vollständig qualifizierter Domänenname) zu. Es ist das Gegenstück zum A-Record und wird für Reverse-DNS-Lookup verwendet, was beim Blockieren von Spammern helfen kann. Viele SMTP-Server lehnen E-Mails ab, wenn kein PTR-Eintrag für den sendenden Server gefunden wird.

Um den PTR-Eintrag auf eine IP-Adresse zu überprüfen, führen Sie diesen Befehl aus:

dig -x IP-Adresse +kurz

oder

Host-IP-Adresse

Da Sie die IP-Adresse von Ihrem Hosting-Provider oder ISP erhalten, nicht von Ihrem Domain-Registrar, müssen Sie den PTR-Eintrag für Ihre IP im Control Panel Ihres Hosting-Providers festlegen oder Ihren ISP fragen. Sein Wert sollte der Hostname Ihres Mailservers sein:mail.your-domain.com . Wenn Ihr Server eine IPv6-Adresse verwendet, stellen Sie sicher, dass Sie auch einen PTR-Eintrag für Ihre IPv6-Adresse hinzufügen.

Um den Reverse-DNS-Eintrag für Ihr Kamatera-VPS zu bearbeiten, melden Sie sich im Kamatera-Clientbereich an, öffnen Sie dann ein Support-Ticket und sagen Sie ihnen, dass sie einen PTR-Eintrag für Ihre Server-IP-Adressen hinzufügen sollen, um die IP-Adresse auf mail.your-domain.com . Das ist nicht praktisch, denken Sie vielleicht, aber es dient dazu, Spammer von der Plattform fernzuhalten, damit legitime E-Mail-Absender wie wir einen hervorragenden IP-Ruf haben.

SPF-Eintrag

SPF (Sender Policy Framework)-Eintrag gibt an, welche Hosts oder IP-Adressen E-Mails im Namen einer Domäne senden dürfen. Sie sollten nur Ihrem eigenen E-Mail-Server oder dem Server Ihres Internetdienstanbieters erlauben, E-Mails für Ihre Domain zu senden. Erstellen Sie in Ihrer DNS-Verwaltungsoberfläche einen neuen TXT-Eintrag wie unten.

Erklärung:

  • TXT gibt an, dass es sich um einen TXT-Eintrag handelt.
  • Geben Sie @ ein im Namensfeld, um den Hauptdomänennamen darzustellen.
  • v=spf1 gibt an, dass dies ein SPF-Eintrag ist und die Version SPF1 ist.
  • mx bedeutet, dass alle in den MX-Einträgen aufgeführten Hosts E-Mails für Ihre Domain senden dürfen und alle anderen Hosts nicht zugelassen sind.
  • ~alle gibt an, dass E-Mails von Ihrer Domain nur von Hosts kommen sollen, die im SPF-Eintrag angegeben sind. E-Mails, die von anderen Hosts stammen, werden als gefälscht gekennzeichnet.

Um zu überprüfen, ob Ihr SPF-Eintrag an das öffentliche Internet weitergegeben wird, können Sie das Dienstprogramm dig auf Ihrem Linux-Rechner wie folgt verwenden:

graben Sie Ihre-domain.com txt

Die txt Option sagt dig dass wir nur TXT-Einträge abfragen wollen.

DKIM-Eintrag

DKIM (DomainKeys Identified Mail) verwendet einen privaten Schlüssel, um E-Mails, die von Ihrer Domain gesendet werden, digital zu signieren. Empfangende SMTP-Server überprüfen die Signatur mithilfe des öffentlichen Schlüssels, der im DNS-DKIM-Eintrag veröffentlicht wird.

Als wir zuvor den Domänennamen im Moboboa-Admin-Panel hinzugefügt haben, haben wir die DKIM-Signierung aktiviert, sodass der Signierungsteil erledigt ist. Das einzige, was noch zu tun ist, ist das Erstellen eines DKIM-Eintrags im DNS-Manager. Gehen Sie zuerst zum Modoboa-Adminbereich und wählen Sie Ihren Domainnamen aus. Klicken Sie im DNS-Bereich auf Show key Schaltfläche.

Der öffentliche Schlüssel wird offengelegt. Es gibt zwei Formate. Wir brauchen nur das Bind/named-Format.

Gehen Sie zu Ihrem DNS-Manager, erstellen Sie einen TXT-Eintrag, geben Sie modoboa._domainkey ein im Namensfeld. (Denken Sie daran, dass wir modoboa verwendet haben als Selektor beim Hinzufügen des Domainnamens im Admin-Panel.) Kopieren Sie alles in den Klammern und fügen Sie es in das Wertfeld ein. Löschen Sie alle doppelten Anführungszeichen. Ihr DNS-Manager fordert Sie möglicherweise auf, andere ungültige Zeichen zu löschen, z. B. Wagenrücklauf.

Beachten Sie, dass Ihr DKIM-Eintrag möglicherweise einige Zeit benötigt, um im Internet verbreitet zu werden. Abhängig von der von Ihnen verwendeten Domänenregistrierungsstelle wird Ihr DNS-Eintrag möglicherweise sofort weitergegeben oder es kann bis zu 24 Stunden dauern, bis er weitergegeben wird. Sie können zu https://www.dmarcanalyzer.com/dkim/dkim-check/ gehen und modoboa eingeben als Selektor und geben Sie Ihren Domänennamen ein, um die DKIM-Eintragsweitergabe zu überprüfen.

Für diejenigen, die daran interessiert sind, verwendet Modoboa OpenDKIM, um einen privaten Schlüssel für Ihren Domänenschlüssel zu generieren und Signaturen eingehender E-Mails zu überprüfen.

DMARC-Eintrag

DMARC steht für Domain-based Message Authentication, Reporting and Conformance. DMARC kann empfangenden E-Mail-Servern helfen, legitime E-Mails zu identifizieren und zu verhindern, dass Ihr Domänenname durch E-Mail-Spoofing verwendet wird.

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:

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

Der obige DMARC-Eintrag ist ein sicherer Ausgangspunkt. Um die vollständige Erklärung von DMARC zu sehen, lesen Sie bitte den folgenden Artikel.

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

Schritt 7:E-Mail-Score und -Platzierung testen

Gehen Sie nach dem Erstellen des PTR-, SPF- und DKIM-Eintrags zu https://www.mail-tester.com . Sie sehen eine eindeutige E-Mail-Adresse. Senden Sie eine E-Mail von Ihrer Domain an diese Adresse und überprüfen Sie dann Ihre Punktzahl. Wie Sie sehen können, habe ich die volle Punktzahl erreicht.

Mail-tester.com kann Ihnen nur einen Absender-Score anzeigen. Es gibt einen weiteren Dienst namens GlockApps, mit dem Sie überprüfen können, ob Ihre E-Mail im Posteingang oder Spam-Ordner des Empfängers abgelegt oder direkt abgelehnt wird. Es unterstützt viele beliebte E-Mail-Anbieter wie Gmail, Outlook, Hotmail, YahooMail, iCloud Mail usw.

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

Weitere Tipps habe ich in diesem Artikel für dich:So verhindern Sie, dass Ihre E-Mails als Spam markiert werden. Obwohl es einige Zeit und Mühe kosten wird, werden Ihre E-Mails schließlich im Posteingang platziert, nachdem Sie diese Tipps angewendet haben.

Was ist, wenn Ihre E-Mail von Microsoft Mailbox abgelehnt wird?

Microsoft scheint eine interne Blacklist zu verwenden, die viele legitime IP-Adressen blockiert. Wenn Ihre E-Mails von Outlook oder Hotmail abgelehnt werden, müssen Sie das Absenderinformationsformular einreichen. Danach wird Ihre E-Mail von Outlook/Hotmail akzeptiert.

Let’s Encrypt TLS-Zertifikat automatisch erneuern

Das TLS-Zertifikat von Let’s Encrypt ist 90 Tage gültig. Um das Zertifikat automatisch zu erneuern, bearbeiten Sie die crontab-Datei des Root-Benutzers.

sudo crontab -e

Fügen Sie am Ende dieser Datei die folgende Zeile hinzu.

@daily /usr/bin/certbot renew -q &&systemctl reload nginx postfix dovecot

Speichern und schließen Sie die Datei. Dies weist Cron an, den Befehl certbot renew jeden Tag auszuführen. Wenn das Zertifikat noch 30 Tage übrig ist, wird certbot es erneuern. Es ist notwendig, den Nginx-Webserver, den Postfix-SMTP-Server und den Dovecot-IMAP-Server neu zu laden, damit sie das neue Zertifikat abrufen können.

SMPS-Port 465 aktivieren

Wenn Sie den Microsoft Outlook-Client verwenden, müssen Sie den SMTPS-Port 465 im Postfix-SMTP-Server aktivieren.

Fehlerbehebung

Verwenden Sie zunächst einen VPS mit mindestens 2 GB RAM. Das Ausführen von Modoboa auf einem VPS mit 1 GB RAM führt dazu, dass die Datenbank, SpamAssassin oder ClamAV aufgrund eines Problems mit unzureichendem Speicher beendet werden. Wenn Sie wirklich einen VPS mit 1 GB RAM verwenden möchten, werden Sie eingehende E-Mails verlieren und andere unerwünschte Folgen haben.

Wenn die Modoboa-Weboberfläche nicht zugänglich ist, wie bei einem 502-Gateway-Fehler, sollten Sie die Nginx-Protokolle in /var/log/nginx/ überprüfen Verzeichnis, um Hinweise zu finden. Sie können auch das E-Mail-Protokoll /var/log/mail.log überprüfen .

Überprüfen Sie, ob die verschiedenen Dienste ausgeführt werden.

systemctl status postfixsystemctl status dovecotsystemctl status nginxsystemctl status mariadbsystemctl status clamav-daemonsystemctl status amavissystemctl status uwsgi systemctl statusSupervisor

Wenn Sie die Firewall aktiviert haben, sollten Sie die folgenden Ports in der Firewall öffnen.

HTTP-Port:80HTTPS-Port:443SMTP-Port:25Übermittlungsport:587 (und 465, wenn Sie den Microsoft Outlook-E-Mail-Client verwenden)IMAP-Port:143 und 993

Wenn Sie die UFW-Firewall verwenden möchten, sehen Sie sich meine Anleitung hier an:Erste Schritte mit der UFW-Firewall unter Debian und Ubuntu.

ClamAV wird automatisch heruntergefahren

Ich habe festgestellt, dass der clamav-daemon Der Dienst neigt dazu, ohne klaren Grund anzuhalten, selbst wenn genügend RAM vorhanden ist. Dadurch werden E-Mails um 1 Minute verzögert. Wir können es so konfigurieren, dass es automatisch neu gestartet wird, wenn es über die systemd-Diensteinheit gestoppt wird. Kopieren Sie die ursprüngliche Service-Unit-Datei nach /etc/systemd/system/ Verzeichnis.

sudo cp /lib/systemd/system/clamav-daemon.service /etc/systemd/system/clamav-daemon.service

Bearbeiten Sie dann die Service-Unit-Datei.

sudo nano /etc/systemd/system/clamav-daemon.service

Fügen Sie die folgenden beiden Zeilen im Abschnitt [service] hinzu.

Restart=alwaysRestartSec=3

So:

[Service]ExecStart=/usr/sbin/clamd --foreground=true# Datenbank neu ladenExecReload=/bin/kill -USR2 $MAINPIDStandardOutput=syslogRestart=always RestartSec=3 

Speichern und schließen Sie die Datei. Laden Sie dann systemd neu und starten Sie clamav-daemon.service neu.

sudo systemctl daemon-reloadsudo systemctl restart clamav-daemon

Leider ist ein interner Fehler aufgetreten

Wenn Sie die interne Fehlermeldung sehen, wenn Sie versuchen, sich beim Modoboa-Admin-Panel anzumelden, bearbeiten Sie die Datei settings.py Datei.

sudo nano /srv/modoboa/instance/instance/settings.py

Aktivieren Sie den Debugging-Modus.

DEBUG =True

Starten Sie uwsgi neu, damit die Änderungen wirksam werden.

sudo systemctl restart uwsgi

Versuchen Sie als Nächstes erneut, sich im Modoboa-Adminbereich anzumelden. Dieses Mal sehen Sie den genauen internen Fehler. Auf meinem Mailserver ist es beispielsweise

Datenbankverbindung ist nicht auf UTC eingestellt

Also muss ich die settings.py bearbeiten Datei

sudo nano /srv/modoboa/instance/instance/settings.py

und schalten Sie die Zeitzone aus.

USE_TZ =Falsch

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

sudo systemctl restart uwsgi

(Optional) Richten Sie Autodiscover und AutoConfig ein, um die Mail-Client-Konfiguration zu automatisieren

Autodiscover und AutoConfig erleichtern die Konfiguration eines Desktop- oder mobilen E-Mail-Clients. Der Endbenutzer muss nur einen Namen, eine E-Mail-Adresse und ein Passwort eingeben, um sein E-Mail-Konto einzurichten, ohne die Details des SMTP- oder IMAP-Servers eingeben zu müssen. Autodiscover wird vom Microsoft Outlook-E-Mail-Client und AutoConfig vom Mozilla Thunderbird-E-Mail-Client unterstützt.

Modoboa verwendet AutoMX, um diese Funktion auf Ihrem Mailserver zu implementieren. Jetzt müssen wir nur noch CNAME-Einträge in DNS hinzufügen. Erstellen Sie in Ihrem DNS-Manager zwei CNAME-Einträge.

autoconfig.yourdomain.com CNAME mail.yourdomain.comautodiscover.yourdomain.com CNAME mail.yourdomain.com

Go to the Domains tab in your Modoboa admin panel, if the autoconfig is in green, that means your CNAME records are correct. (Modoboa checks DNS records for your mail server every 30 minutes, so you might need to wait some time for autoconfig to turn green.)

Once the CNAME records are propagated to the Internet, you don’t have to enter the SMTP or IMAP server details when setting up a mail account in Microsoft Outlook and Mozilla Thunderbird.

Host Multiple Domains in Modoboa

See the following article:

  • How to Host Multiple Domains in Modoboa Mail Server

Setting Up Backup Mail Server

Your primary mail server could be down sometimes. If you host your mail server in a data center, then the downtime is very minimal, so you shouldn’t be worried about losing inbound emails. If you host your mail server at home, the downtime can’t be predicted so it’s a good practice for you to run a backup mail server in a data center to prevent losing inbound emails. The backup mail server needs just 512MB RAM to run. Please check the full detail in the following article.

  • How to Set up a Backup Email Server with Postfix on Ubuntu (Complete Guide)

I hope this tutorial helped you set up a mail server on Ubuntu 20.04 with Modoboa. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten. Pass auf dich auf 🙂


Ubuntu
  1. Richten Sie mit PostfixAdmin einen Mailserver ein

  2. So richten Sie einen OpenVPN-Server unter Ubuntu 18.04 ein

  3. So installieren und konfigurieren Sie Ubuntu Mail Server auf Version 18.04 LTS

  4. So richten Sie einen E-Mail-Server mit Mail-in-a-Box unter Ubuntu ein

  5. Wie sende ich E-Mails mit meinem CentOS-Server?

So richten Sie mit iRedMail ganz einfach einen vollwertigen Mailserver unter Ubuntu 20.04 ein

So richten Sie einen sicheren FTP-Server mit Pure-FTPd unter Ubuntu ein

So richten Sie einen voll ausgestatteten Mailserver mit iRedMail auf Ubuntu 18.04 VPS ein

So richten Sie einen Seafile-Server mit Nginx unter Ubuntu 18.04 ein

So richten Sie einen FTP-Server mit ProFTPD in Ubuntu 18.04 ein

So richten Sie einen Mailserver mit Modoboa unter Ubuntu 20.04 ein