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 Siesudo 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 dovecotSchritt 4:Hinzufügen von Postfächern im Modoboa-Adminbereich
Gehen Sie zu
Domains
und klicken Sie aufAdd
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 wiemodoboa
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 zuDomains
und klicken Sie auf Ihren Domainnamen.
Klicken Sie dann auf Postfächer.
Klicken Sie auf
Add
und wählen SieAccount
.
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.cfSuchen 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 =erzwingenSpeichern und schließen Sie die Datei. Starten Sie dann Postfix neu, damit die Änderungen wirksam werden.
sudo systemctl reset postfixJetzt 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 /swapfileStellen Sie dann sicher, dass nur root darauf lesen und schreiben kann.
sudo chmod 600 /swapfileZum Tauschen formatieren:
sudo mkswap /swapfileAusgabe:
Einrichtung von Swapspace Version 1, Größe =1024 MiB (1073737728 Bytes) ohne Label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433Aktivieren Sie die Auslagerungsdatei
sudo swapon /swapfileUm den Auslagerungsbereich beim Systemstart bereitzustellen, bearbeiten Sie die Datei
/etc/fstab
Datei.sudo nano /etc/fstabFügen Sie die folgende Zeile am Ende dieser Datei hinzu.
/swapfile swap Swap-Standardwerte 0 0Speichern und schließen Sie die Datei. Laden Sie dann systemd neu und starten Sie ClamAV neu.
sudo systemctl daemon-reloadsudo systemctl restart clamav-daemonSchritt 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 25Wenn 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 - gsmtpWenn 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 VerbindungIn 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.logEinige 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=IPv6AuthErrorDies 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ürmail.your-domain.com
, dann sollten SiePTR
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 Sienormal 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 Sienormal 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.
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 🙂