Ein eigener E-Mail-Server ermöglicht Ihnen die vollständige Kontrolle über Ihre E-Mails. Dieses Tutorial zeigt Ihnen, wie Sie einen sicheren und leistungsfähigen E-Mail-Server mit Postfix und Dovecot auf einem Ubuntu Server einrichten.


Voraussetzungen

  • Ein Ubuntu Server (20.04 oder neuer wird empfohlen).
  • Root- oder sudo-Berechtigungen.
  • Eine Domain, z. B. example.com.
  • DNS-Einträge:
  • MX-Eintrag: Verweist auf den Hostnamen Ihres Servers.
  • A-Eintrag: Verweist auf die IP-Adresse Ihres Servers.

Schritt 1: Server vorbereiten

1.1 Pakete aktualisieren

Aktualisieren Sie zunächst Ihr System:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt upgrade -y

1.2 Benötigte Pakete installieren

Installieren Sie Postfix und Dovecot:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt install postfix dovecot-core dovecot-imapd -y
sudo apt install postfix dovecot-core dovecot-imapd -y
sudo apt install postfix dovecot-core dovecot-imapd -y

Schritt 2: Postfix konfigurieren

Postfix wird als Mail Transfer Agent (MTA) verwendet, um E-Mails zu empfangen und zu versenden.

2.1 Grundeinrichtung

Konfigurieren Sie Postfix mit dem folgenden Befehl:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo dpkg-reconfigure postfix
sudo dpkg-reconfigure postfix
sudo dpkg-reconfigure postfix
  • Mailserver-Typ: Internet Site
  • System-Mailname: Ihre Domain, z. B. example.com

2.2 Hauptkonfiguration bearbeiten

Öffnen Sie die Datei main.cf:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/postfix/main.cf
sudo nano /etc/postfix/main.cf
sudo nano /etc/postfix/main.cf

Fügen Sie die folgenden Zeilen hinzu oder ändern Sie bestehende Einträge:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::1]/128
relay_domains =
biff = no
append_dot_mydomain = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
myhostname = mail.example.com mydomain = example.com myorigin = $mydomain inet_interfaces = all inet_protocols = ipv4 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 127.0.0.0/8 [::1]/128 relay_domains = biff = no append_dot_mydomain = no smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::1]/128
relay_domains =
biff = no
append_dot_mydomain = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes

Speichern Sie die Datei und starten Sie Postfix neu:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl restart postfix
sudo systemctl restart postfix
sudo systemctl restart postfix

Schritt 3: Dovecot konfigurieren

Dovecot dient als Mail Delivery Agent (MDA) und stellt IMAP/POP3-Dienste bereit.

3.1 Basis-Konfiguration

Öffnen Sie die Hauptkonfigurationsdatei:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/dovecot/dovecot.conf
sudo nano /etc/dovecot/dovecot.conf
sudo nano /etc/dovecot/dovecot.conf

Aktivieren Sie die Protokolle:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
protocols = imap pop3 lmtp
protocols = imap pop3 lmtp
protocols = imap pop3 lmtp

3.2 Mail-Verzeichnisse konfigurieren

Bearbeiten Sie die Datei 10-mail.conf:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/dovecot/conf.d/10-mail.conf
sudo nano /etc/dovecot/conf.d/10-mail.conf
sudo nano /etc/dovecot/conf.d/10-mail.conf

Setzen Sie den Mail-Verzeichnispfad:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mail_location = maildir:~/Maildir
mail_location = maildir:~/Maildir
mail_location = maildir:~/Maildir

3.3 Authentifizierung konfigurieren

Bearbeiten Sie die Datei 10-auth.conf:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/dovecot/conf.d/10-auth.conf
sudo nano /etc/dovecot/conf.d/10-auth.conf
sudo nano /etc/dovecot/conf.d/10-auth.conf

Aktivieren Sie die folgende Zeile:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
auth_mechanisms = plain login
auth_mechanisms = plain login
auth_mechanisms = plain login

3.4 SSL/TLS aktivieren

Bearbeiten Sie die Datei 10-ssl.conf:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/dovecot/conf.d/10-ssl.conf
sudo nano /etc/dovecot/conf.d/10-ssl.conf
sudo nano /etc/dovecot/conf.d/10-ssl.conf

Stellen Sie sicher, dass SSL aktiviert ist:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ssl = yes
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
ssl = yes ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
ssl = yes
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key

Speichern Sie die Datei und starten Sie Dovecot neu:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl restart dovecot
sudo systemctl restart dovecot
sudo systemctl restart dovecot

Schritt 4: Benutzer und Mailbox erstellen

4.1 Benutzer anlegen

Erstellen Sie einen neuen Benutzer für die E-Mails:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo adduser mailuser
sudo adduser mailuser
sudo adduser mailuser

4.2 Mailbox initialisieren

Melden Sie sich als neuer Benutzer an und initialisieren Sie die Mailbox:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo -i -u mailuser
mkdir -p ~/Maildir
exit
sudo -i -u mailuser mkdir -p ~/Maildir exit
sudo -i -u mailuser
mkdir -p ~/Maildir
exit

Schritt 5: Den E-Mail-Server testen

5.1 Überprüfung mit Telnet

Installieren Sie Telnet:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt install telnet -y
sudo apt install telnet -y
sudo apt install telnet -y

Testen Sie den SMTP-Server:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
telnet localhost 25
telnet localhost 25
telnet localhost 25

Testen Sie den IMAP-Server:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
telnet localhost 143
telnet localhost 143
telnet localhost 143

5.2 Teste mit einem E-Mail-Client

  • Nutzen Sie einen Client wie Thunderbird.
  • IMAP-Server: mail.example.com, Port: 143
  • SMTP-Server: mail.example.com, Port: 25

Schritt 6: Sicherheit verbessern

6.1 Firewall-Regeln setzen

Öffnen Sie die Ports für SMTP und IMAP:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo ufw allow 25
sudo ufw allow 143
sudo ufw enable
sudo ufw allow 25 sudo ufw allow 143 sudo ufw enable
sudo ufw allow 25
sudo ufw allow 143
sudo ufw enable

6.2 DNS-Einträge überprüfen

Stellen Sie sicher, dass Ihre DNS-Einträge (MX, A, SPF) korrekt konfiguriert sind.


Fazit

Mit dieser Anleitung haben Sie einen grundlegenden E-Mail-Server auf Ubuntu eingerichtet. Für produktive Umgebungen empfehlen sich zusätzliche Sicherheitsmassnahmen wie SPF, DKIM und DMARC. Probieren Sie die erweiterten Funktionen aus, um Ihren Server optimal abzusichern und zu nutzen.