Einrichten eines Postfix Mail Servers mit Dovecot und Squirrelmail auf Ubuntu 16.04

Erfahren Sie, wie Sie einen Mailserver auf einem Cloud Server mit Ubuntu 16.04 einrichten. In diesem Tutorial werden Postfix als SMTP-Server, Dovecot für POP/IMAP-Funktionalität und Squirrelmail als Webmail-Programm für Benutzer zum Überprüfen und Empfangen von E-Mails über einen Webbrowser vorgestellt.

Das Tutorial führt Sie auch durch den Prozess der Erstellung und Verwendung eines selbstsignierten SSL-Zertifikats zur Sicherung ein- und ausgehender E-Mail-Verbindungen.

    Anforderungen

    • Ein Cloud Server mit Ubuntu 16.04.
    • Ein gültiger Domänenname, der auf den Server zeigt.

    E-Mail Archivierung

    Wussten Sie, dass Unternehmen verpflichtet sind, E-Mails zu archivieren? Mit IONOS kann die automatische E-Mail-Archivierung per Knopfdruck zu Ihrer Mailbox hinzugefügt werden!

    Deutsche Rechenzentren
    Automatische Archivierung
    Rechtssicher und GoBD-konform

    Firewall-Zugang

    Sie müssen Ihre Firewall(s) so einstellen, dass sie den Zugriff auf die folgenden Ports ermöglichen:

    • SMTP: 25
    • POP3: 110
    • IMAP: 143
    • SMTP Sicherheit: 465
    • MSA: 587
    • IMAP Sicherheit: 993
    • POP3 Sicherheit: 995

    Standardmäßig verweigert die Firewall Cloud Panel den Zugriff auf alle außer den am häufigsten verwendeten Ports.

    Postfix installieren

    Um Postfix zu installieren, aktualisieren Sie zuerst Ihre Pakete:

    sudo apt-get update

    Dann installieren Sie Postfix:

    sudo apt-get install postfix

    Postfix ist auf den meisten Ubuntu 16.04-Systemen standardmäßig installiert, so dass dieser Befehl höchstwahrscheinlich mit der Meldung endet, dass postfix bereits die neueste Version (3.1.0-3) ist....

    Wenn Postfix mit einer Installation fortfahren soll, übernehmen Sie einfach alle Standardwerte bei jeder Eingabeaufforderung, um den Vorgang abzuschließen.

    Postfix konfigurieren

    Nachdem die Installation abgeschlossen ist, führen Sie den Befehl zur Konfiguration von Postfix aus:

    sudo dpkg-reconfigure postfix

    Geben Sie bei der Eingabeaufforderung die folgenden Werte ein und ersetzen Sie example.com durch Ihren eigenen Domainnamen. Verwenden Sie die Pfeiltasten nach oben und unten, um sich nach oben und unten zu bewegen, um Antworten hervorzuheben, und Enter, um Ihre Antwort auszuwählen.

    Wählen Sie OK, um fortzufahren.

    Wählen Sie Internetsite.

    System-Mail-Name: example.com

    Wurzel- und Postmaster-Mail-Empfänger: root

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

    Synchrone Updates in der Mailwarteschlange erzwingen: Nein

    Lokale Netzwerke: 127.0.0.0/8

    Procmail für die lokale Zustellung verwenden?: Nein

    Begrenzung der Postfachgröße (Bytes): 0

    Lokales Adresserweiterungszeichen: +

    Zu verwendende Internet-Protokolle: alle

    Nachdem die erste Postfix-Konfiguration durchgeführt wurde, können Sie die Postfix-Einstellungen mit dem Befehl ändern:

    sudo postconf -e '[new setting]'

    Erstellen eines SSL-Zertifikats

    Wir werden ein selbstsigniertes SSL-Zertifikat erstellen, um ein- und ausgehende E-Mail-Verbindungen 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

    Beantworten Sie die Fragen bei der Eingabeaufforderung, oder drücken Sie einfach[Enter], um eine Antwort leer zu lassen. Dieser Befehl erstellt zwei Dateien: mailserver.key und mailserver.crt.

    Erstellen Sie einen Ordner für die SSL-Zertifikatsdateien:

    sudo mkdir /etc/postfix/ssl

    Verschieben 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-Zertifikate von IONOS!

    Wahren Sie dank SSL-Zertifikaten die Geheimhaltung Ihres Online-Verkehrs und stärken Sie das Vertrauen Ihrer Kunden in die Sicherheit Ihrer Webseite.

    Geprüfte Sicherheit
    Bis zu 256-bit Verschlüsselung
    Einfache Aktivierung

    SMTP-AUTH. einrichten

    SMTP AUTH ist eine grundlegende Methode zur Sicherung Ihres Mail-Servers. Wir empfehlen dringend die Verwendung von SMTP AUTH auf allen Mail-Servern.

    Verwenden Sie zunächst die folgenden Befehle, um Postfix für die Verwendung 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 Domainnamen:

    sudo postconf -e 'myhostname = example.com' 

    Erstellen Sie anschließend die Datei /etc/postfix/sasl/smtpd.conf und öffnen Sie sie zur Bearbeitung:

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

    Füge den folgenden Inhalt hinzu:

    pwcheck_method: saslauthd
    mech_list: plain login

    Nachdem Sie die Konfiguration von Postfix abgeschlossen haben, starten Sie den Postfix-Daemon mit dem Befehl neu:

    sudo systemctl restart postfix

    Install SASL

    Postfix verwendet SASL, um die Authentifizierung mit SMTP AUTH durchzuführen. Nachdem Postfix nun für die Verwendung von SMTP AUTH konfiguriert wurde, installieren Sie SASL mit dem Befehl:

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

    Nachdem die Installation abgeschlossen ist, bearbeiten 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 anschließend den folgenden Befehl aus, um den dpkg-Status zu aktualisieren:

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

    Hinweis: Wenn Sie eine Fehlermeldung erhalten, dass /var/spool/postfix/var/run/saslauthd nicht existiert, ignorieren Sie diese. Dieses Verzeichnis wird beim Start des SASL-Daemons erstellt.

    Erstellen Sie einen Symlink für die Konfigurationsdatei:

    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" durchführen, genau wie ein E-Mail-Programm.

    Installieren Sie zunächst Telnet:

    sudo apt-get install telnet

    Sobald Telnet installiert ist, verwenden Sie es, um eine Verbindung zum SMTP-Port des Servers herzustellen:

    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 funktioniert:

    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 Benutzernamen und Domainnamen:

    rcpt to: root@example.com

    Füge nun eine einfache Nachricht hinzu. Teilen Sie dem Server mit, dass Ihr Nachrichtentext 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 erfolgreich sind, erscheint Ihre Testnachricht 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.localdomain sein) und lesen Sie sie mit mehr:

    sudo more  1482257384.Vfc00I60512M258205.localhost.localdomain

    Sie sehen die E-Mail-Nachricht zusammen mit allen Kopfzeileninformationen:

    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

    Hosted Microsoft Exchange mit IONOS

    Erhalten Sie die weltweit führende E-Mail- und Kalender-Lösung inklusive sicherem Hosting aus einer Hand mit Hosted Microsoft Exchange von IONOS!

    50 GB email
    Kostenlose Domain
    24/7 Support

    Installation und Konfiguration von Dovecot

    Dovecot ist der Standard-POP3/IMAP-Server für Ubuntu und wird standardmäßig auf den meisten Ubuntu 16.04-Servern installiert. Aktualisieren Sie Dovecot und installieren 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 überprü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 installiert ist und läuft.

    Legen Sie die Berechtigungen für das Verzeichnis /var/mail fest, so dass Dovecot Ordner für neue Benutzer erstellen kann:

    sudo chmod 777 /var/mail

    Installation und Konfiguration von Squirrelmail

    Installieren Sie Squirrelmail mit dem Befehl:

    sudo apt-get install squirrelmail

    Sie müssen Ihre Apache-Konfigurationen bearbeiten, um einen Alias für Squirrelmail hinzuzufügen. Diese Direktive muss in den VirtualHost-Befehlsblock in der Hauptkonfigurationsdatei des Apache der Website eingefügt werden.

    Diese Apache-Konfigurationsdatei ist normalerweise /etc/apache2/sites-available/example.com.conf auf Ubuntu.

    Hinweis: Der Speicherort und Dateiname der Apache-Konfigurationsdatei einer Website kann variieren.

    Bearbeiten 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 VirtualHost-Befehlsblock 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 VirtualHost-Befehlsblock hinzu:

    Alias /squirrelmail /usr/share/squirrelmail

    Stellen Sie sicher, dass diese Zeilen außerhalb von Verzeichnisbefehlsblö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 Änderungen wirksam werden:

    sudo systemctl restart apache2

    Nach dem Neustart des Apache können Sie Squirrelmail testen, indem Sie die URL http://example.com/squirrelmail  in einem Browser besuchen.

    Eigene E-Mail-Adresse erstellen

    Erstellen Sie Ihre eigene E-Mail Adresse inklusive persönlichem Berater!

    Adressbuch
    Kalender
    Virenschutz

    Auf dem Laufenden bleiben?

    Jetzt für unseren Newsletter anmelden und gratis Online-Marketing Whitepaper für lokale Anbieter sichern!