Erfahren Sie, wie Sie einen Mail-Server auf einem Cloud Server mit Ubuntu 16.04 ein­rich­ten. In diesem Tutorial werden Postfix als SMTP-Server, Dovecot für POP/IMAP-Funk­tio­na­li­tät und Squir­rel­mail als Webmail-Programm für Benutzer zum Über­prü­fen und Empfangen von E-Mails über einen Web­brow­ser vor­ge­stellt.

Das Tutorial führt Sie auch durch den Prozess der Er­stel­lung und Ver­wen­dung eines selbst­si­gnier­ten SSL-Zer­ti­fi­kats zur Sicherung ein- und aus­ge­hen­der E-Mail-Ver­bin­dun­gen.

E-Mail-Ar­chi­vie­rung
Bewahren Sie E-Mails rechts­si­cher auf
  • Au­to­ma­ti­sche Ar­chi­vie­rung aus­ge­wähl­ter Post­fä­cher
  • Sicherung in deutschen Re­chen­zen­tren
  • Un­ter­stützt die Ein­hal­tung ge­setz­li­cher An­for­de­run­gen wie GoBD

An­for­de­run­gen

  • Ein Cloud Server mit Ubuntu 16.04.
  • Ein gültiger Do­mä­nen­na­me, der auf den Server zeigt.

Firewall-Zugang

Sie müssen Ihre Firewall(s) so ein­stel­len, dass sie den Zugriff auf die folgenden Ports er­mög­li­chen:

  • SMTP: 25
  • POP3: 110
  • IMAP: 143
  • SMTP Si­cher­heit: 465
  • MSA: 587
  • IMAP Si­cher­heit: 993
  • POP3 Si­cher­heit: 995

Stan­dard­mä­ßig ver­wei­gert die Firewall Cloud Panel den Zugriff auf alle außer den am häu­figs­ten ver­wen­de­ten Ports.

Postfix in­stal­lie­ren

Um Postfix zu in­stal­lie­ren, ak­tua­li­sie­ren Sie zuerst Ihre Pakete:

sudo apt-get update

Dann in­stal­lie­ren Sie Postfix:

sudo apt-get install postfix

Postfix ist auf den meisten Ubuntu 16.04-Systemen stan­dard­mä­ßig in­stal­liert, so dass dieser Befehl höchst­wahr­schein­lich mit der Meldung endet, dass postfix bereits die neueste Version (3.1.0-3) ist....

Wenn Postfix mit einer In­stal­la­ti­on fort­fah­ren soll, über­neh­men Sie einfach alle Stan­dard­wer­te bei jeder Ein­ga­be­auf­for­de­rung, um den Vorgang ab­zu­schlie­ßen.

Postfix kon­fi­gu­rie­ren

Nachdem die In­stal­la­ti­on ab­ge­schlos­sen ist, führen Sie den Befehl zur Kon­fi­gu­ra­ti­on von Postfix aus:

sudo dpkg-reconfigure postfix

Geben Sie bei der Ein­ga­be­auf­for­de­rung die folgenden Werte ein und ersetzen Sie example.com durch Ihren eigenen Do­main­na­men. Verwenden Sie die Pfeil­tas­ten nach oben und unten, um sich nach oben und unten zu bewegen, um Antworten her­vor­zu­he­ben, und Enter, um Ihre Antwort aus­zu­wäh­len.

Wählen Sie OK, um fort­zu­fah­ren.

Wählen Sie In­ter­net­si­te.

System-Mail-Name: example.com

Wurzel- und Post­mas­ter-Mail-Empfänger: root

Andere Ziele für Mail: example.com, localhost.example.com, localhost.example.com, localhost

Synchrone Updates in der Mail­war­te­schlan­ge erzwingen: Nein

Lokale Netzwerke: 127.0.0.0/8

Procmail für die lokale Zu­stel­lung verwenden?: Nein

Be­gren­zung der Post­fach­grö­ße (Bytes): 0

Lokales Adress­erwei­te­rungs­zei­chen: +

Zu ver­wen­den­de Internet-Pro­to­kol­le: alle

Nachdem die erste Postfix-Kon­fi­gu­ra­ti­on durch­ge­führt wurde, können Sie die Postfix-Ein­stel­lun­gen mit dem Befehl ändern:

sudo postconf -e '[new setting]'
Tipp

Richten Sie mit IONOS im Hand­um­dre­hen Ihren eigenen pro­fes­sio­nel­len E-Mail-Server ein. Sie pro­fi­tie­ren von zahl­rei­chen Vorteilen wie großem und er­wei­ter­ba­rem Spei­cher­platz, Ihrer eigenen Domain, au­to­ma­ti­scher Ver­schlüs­se­lung, Kalender- und Office-Funk­tio­nen oder E-Mail-Ar­chi­vie­rung. IONOS bietet Ihnen höchste Si­cher­heits­stan­dards in ISO-zer­ti­fi­zier­ten eu­ro­päi­schen Re­chen­zen­tren.

Erstellen eines SSL-Zer­ti­fi­kats

Wir werden ein selbst­si­gnier­tes SSL-Zer­ti­fi­kat erstellen, um ein- und aus­ge­hen­de E-Mail-Ver­bin­dun­gen zu schützen:

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout mailserver.key -out mailserver.crt -nodes -days 365
sudo openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Be­ant­wor­ten Sie die Fragen bei der Ein­ga­be­auf­for­de­rung, oder drücken Sie einfach[Enter], um eine Antwort leer zu lassen. Dieser Befehl erstellt zwei Dateien: mail­ser­ver.key und mail­ser­ver.crt.

Erstellen Sie einen Ordner für die SSL-Zer­ti­fi­kats­da­tei­en:

sudo mkdir /etc/postfix/ssl

Ver­schie­ben Sie dann die Dateien in diesen Ordner:

sudo mv mailserver.key /etc/postfix/ssl
sudo mv mailserver.crt /etc/postfix/ssl
sudo mv cakey.pem /etc/postfix/ssl
sudo mv cacert.pem /etc/postfix/ssl
SSL-Zer­ti­fi­kat kaufen
Sichern Sie sich Ihr SSL-Zer­ti­fi­kat
  • Ver­schlüs­selt die Website-Kom­mu­ni­ka­ti­on
  • Ver­hin­dert Si­cher­heits­war­nun­gen
  • Ver­bes­sert die Google-Plat­zie­rung

SMTP-AUTH. ein­rich­ten

SMTP AUTH ist eine grund­le­gen­de Methode zur Sicherung Ihres Mail-Servers. Wir empfehlen dringend die Ver­wen­dung von SMTP AUTH auf allen Mail-Servern.

Verwenden Sie zunächst die folgenden Befehle, um Postfix für die Ver­wen­dung von SMTP AUTH:

sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_recipient_restrictions =  permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
sudo postconf -e 'inet_interfaces = all'
sudo postconf -e 'smtp_tls_security_level = may'
sudo postconf -e 'smtpd_tls_security_level = may'
sudo postconf -e 'smtpd_tls_auth_only = no'
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
sudo postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/mailserver.key'
sudo postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/mailserver.crt'
sudo postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_received_header = yes'
sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
sudo postconf -e 'tls_random_source = dev:/dev/urandom'

Ersetzen Sie example.com durch Ihren eigenen Do­main­na­men:

sudo postconf -e 'myhostname = example.com'

Erstellen Sie an­schlie­ßend die Datei /etc/postfix/sasl/smtpd.conf und öffnen Sie sie zur Be­ar­bei­tung:

sudo nano /etc/postfix/sasl/smtpd.conf

Füge den folgenden Inhalt hinzu:

pwcheck_method: saslauthd
mech_list: plain login

Nachdem Sie die Kon­fi­gu­ra­ti­on von Postfix ab­ge­schlos­sen haben, starten Sie den Postfix-Daemon mit dem Befehl neu:

sudo systemctl restart postfix

Install SASL

Postfix verwendet SASL, um die Au­then­ti­fi­zie­rung mit SMTP AUTH durch­zu­füh­ren. Nachdem Postfix nun für die Ver­wen­dung von SMTP AUTH kon­fi­gu­riert wurde, in­stal­lie­ren Sie SASL mit dem Befehl:

sudo apt-get install libsasl2-2 sasl2-bin libsasl2-modules

Nachdem die In­stal­la­ti­on ab­ge­schlos­sen ist, be­ar­bei­ten Sie /etc/default/saslauthd:

sudo nano /etc/default/saslauthd

Scrollen Sie nach unten zur Zeile:

# Should saslauthd run automatically on startup? (default: no)
START=no

Ändern Sie START auf ja:

# Should saslauthd run automatically on startup? (default: no)
START=yes

Unterhalb dieser Zeile fügen Sie die folgenden drei Zeilen hinzu:

PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"

Scrollen Sie nach unten zum Ende der Datei bis zur Zeile:

OPTIONS="-c -m /var/run/saslauthd"

Ändern Sie die letzte Zeile, um zu lesen:

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Speichern und beenden Sie die Datei.

Führen Sie an­schlie­ßend den folgenden Befehl aus, um den dpkg-Status zu ak­tua­li­sie­ren:

sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

Hinweis: Wenn Sie eine Feh­ler­mel­dung erhalten, dass /var/spool/postfix/var/run/saslauthd nicht existiert, igno­rie­ren Sie diese. Dieses Ver­zeich­nis wird beim Start des SASL-Daemons erstellt.

Erstellen Sie einen Symlink für die Kon­fi­gu­ra­ti­ons­da­tei:

sudo ln -s /etc/default/saslauthd /etc/saslauthd

Und schließ­lich starten Sie den SASL-Daemon:

sudo /etc/init.d/saslauthd start

Postfix mit Telnet testen

Um Postfix zu testen, werden wir uns mit dem Server verbinden und ein einfaches "Handshake-Protokoll" durch­füh­ren, genau wie ein E-Mail-Programm.

In­stal­lie­ren Sie zunächst Telnet:

sudo apt-get install telnet

Sobald Telnet in­stal­liert ist, verwenden Sie es, um eine Ver­bin­dung zum SMTP-Port des Servers her­zu­stel­len:

telnet localhost 25

Der Server antwortet mit:

[user@localhost ~]$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix (Ubuntu)

Dies zeigt an, dass Postfix läuft.

Als nächstes begrüßen Sie den Server:

ehlo localhost

Der Server antwortet mit:

250-localhost.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Die folgenden Zeilen zeigen an, dass SMTP AUTH funk­tio­niert:

250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN

Beginnen Sie, indem Sie dem Server mitteilen, von wem die Mail gesendet wird:

mail from: some-person@some-other-server.com

Dann teilen Sie dem Server mit, an wen Sie die E-Mail senden, und ersetzen Sie user@example.com durch Ihren eigenen Be­nut­zer­na­men und Do­main­na­men:

rcpt to: root@example.com

Füge nun eine einfache Nachricht hinzu. Teilen Sie dem Server mit, dass Ihr Nach­rich­ten­text hier beginnt:

data

Geben Sie die Nachricht ein und folgen Sie ihr mit[Enter], einem Punkt . und[Enter]:

hello world 
.

Schließen Sie die Sitzung, indem Sie quit eingeben und Enter drücken.

Wenn Sie er­folg­reich sind, erscheint Ihre Test­nach­richt in /root/Maildir/new. Sie können diese Nachricht mit dem Befehl anzeigen:

ll /root/Maildir/new

Um die Nachricht zu lesen, kopieren und fügen Sie den Namen der Datei ein (es wird ein langer Name wie 1482257384.Vfc00I60512M258205.localhost.lo­cal­do­main sein) und lesen Sie sie mit mehr:

sudo more  1482257384.Vfc00I60512M258205.localhost.localdomain

Sie sehen die E-Mail-Nachricht zusammen mit allen Kopf­zei­len­in­for­ma­tio­nen:

From some-person@some-other-server.com  Thu Dec  8 19:43:10 2016
Return-Path: <some-person@some-other-server.com>
X-Original-To: root@example.com
Delivered-To: root@example.com
Received: from localhost (localhost [127.0.0.1])
    by mail.example.com (Postfix) with SMTP id 6CFD589184
    for <root@example.com>; Thu,  8 Dec 2016 19:42:33 +0000 (UTC)
Message-Id: <20161208194238.6CFD589184@mail.oxnardindustries.com>
Date: Thu,  8 Dec 2016 19:42:33 +0000 (UTC)
From: some-person@some-other-server.com
hello world
E-Mail- & Groupware-Lösung
Hosted Microsoft Exchange
  • Bekannt als weltweit führende E-Mail- und Kalender-Lösung
  • Sicheres Hosting in deutschen Re­chen­zen­tren
  • Jederzeit mobiler Zugriff dank Microsoft Outlook

In­stal­la­ti­on und Kon­fi­gu­ra­ti­on von Dovecot

Dovecot ist der Standard-POP3/IMAP-Server für Ubuntu und wird stan­dard­mä­ßig auf den meisten Ubuntu 16.04-Servern in­stal­liert. Ak­tua­li­sie­ren Sie Dovecot und in­stal­lie­ren Sie das imapd-Paket mit dem Befehl:

sudo apt-get install dovecot-core dovecot-imapd

Sie können den Status von Dovecot mit dem Befehl über­prü­fen:

sudo systemctl status dovecot

Wenn Dovecot läuft, sehen Sie eine Ausgabe ähnlich wie:

[user@mail dovecot]$ sudo systemctl status dovecot -l
● dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/usr/lib/systemd/system/dovecot.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2016-12-08 21:04:48 UTC; 3s ago
  Process: 8985 ExecStartPre=/usr/libexec/dovecot/prestartscript (code=exited, status=0/SUCCESS)
 Main PID: 8989 (dovecot)
   CGroup: /system.slice/dovecot.service
           ├─8989 /usr/sbin/dovecot -F
           ├─8992 dovecot/anvil
           ├─8993 dovecot/log
           └─8995 dovecot/config
Dec 08 21:04:48 example.com systemd[1]: Starting Dovecot IMAP/POP3 email server...
Dec 08 21:04:48 example.com systemd[1]: Started Dovecot IMAP/POP3 email server.
Dec 08 21:04:48 example.com dovecot[8989]: master: Dovecot v2.2.10 starting up for imap (core dumps disabled)

Beachten Sie die Zeile, die lautet:

Active: active (running) since Thu 2016-12-08 21:04:48 UTC; 3s ago

Das bedeutet, dass Dovecot in­stal­liert ist und läuft.

Legen Sie die Be­rech­ti­gun­gen für das Ver­zeich­nis /var/mail fest, so dass Dovecot Ordner für neue Benutzer erstellen kann:

sudo chmod 777 /var/mail

In­stal­la­ti­on und Kon­fi­gu­ra­ti­on von Squir­rel­mail

In­stal­lie­ren Sie Squir­rel­mail mit dem Befehl:

sudo apt-get install squirrelmail

Sie müssen Ihre Apache-Kon­fi­gu­ra­tio­nen be­ar­bei­ten, um einen Alias für Squir­rel­mail hin­zu­zu­fü­gen. Diese Direktive muss in den Vir­tu­al­Host-Be­fehls­block in der Haupt­kon­fi­gu­ra­ti­ons­da­tei des Apache der Website eingefügt werden.

Diese Apache-Kon­fi­gu­ra­ti­ons­da­tei ist nor­ma­ler­wei­se /etc/apache2/sites-available/example.com.conf auf Ubuntu.

Hinweis: Der Spei­cher­ort und Dateiname der Apache-Kon­fi­gu­ra­ti­ons­da­tei einer Website kann variieren.

Be­ar­bei­ten Sie diese Datei mit einem Editor Ihrer Wahl, z.B. mit dem Befehl:

sudo nano /etc/apache2/sites-available/example.com.conf

Scrollen Sie durch die Datei, bis Sie den Vir­tu­al­Host-Be­fehls­block finden, der so aussehen wird:

<VirtualHost *:80>
ServerName example.com
    <Directory "/var/www/example.com/html">
    AllowOverride All
    </Directory>
</VirtualHost>

Fügen Sie Folgendes zum Vir­tu­al­Host-Be­fehls­block hinzu:

Alias /squirrelmail /usr/share/squirrelmail

Stellen Sie sicher, dass diese Zeilen außerhalb von Ver­zeich­nis­be­fehls­blö­cken platziert werden. Zum Beispiel:

<VirtualHost *:80>
ServerName example.com
Alias /squirrelmail /usr/share/squirrelmail
    <Directory "/var/www/example.com/html">
    AllowOverride All
    </Directory>
</VirtualHost>

Speichern und beenden Sie die Datei, und starten Sie dann den Apache neu, damit die Än­de­run­gen wirksam werden:

sudo systemctl restart apache2

Nach dem Neustart des Apache können Sie Squir­rel­mail testen, indem Sie die URL http://example.com/squir­rel­mail  in einem Browser besuchen.

Eigene E-Mail-Adresse erstellen
E-Mail-Kom­plett­pa­ke­te vom deutschen Markt­füh­rer
  • Mit KI schneller zur perfekten E-Mail: schreiben, über­set­zen, um­for­mu­lie­ren
  • Aus Deutsch­land – DSGVO-konform & sicher
  • Nur bei IONOS: Eigene Domain inklusive
Zum Hauptmenü