Dieses Tutorial ist VALID.

Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Mailcow installieren – der „dockerisierte“ Mailserver

Unser Postfach mit Thunderbird nutzen

Der Mailserver und das Postfach sind das Eine – die dort auflaufenden Mails zu lesen und welche zu verschicken das Andere… Dazu brauchen wir ein Mailprogramm, das diese Arbeit für uns übernimmt.

Ich nutze seit einer gefühlten Ewigkeit Thunderbird von Mozilla und bin damit sehr zufrieden. Hier zeige ich euch, wie man das Postfach der Mailcow in Thunderbird einrichtet…

Wir starten Thunderbird und wechseln über „Extras“ zu den „Konteneinstellungen“. Dort klicken wir unten links auf das Drop-Down-Menü „Konten-Aktionen“ und wählen „E-Mail-Konto hinzufügen“ aus der Liste.

Achtung! Sollte die Verbindung zum Mailserver nicht funktionieren und Du bist Telekom Kunde mit einem SpeedPort Router, dann ist das Problem hier begraben…

Es öffnet sich ein Dialog, in dem wir unseren vollen Namen, unsere E-Mail Adresse und das zugehörige Passwort eingeben. Wir aktivieren noch den Haken vor „Kennwort speichern“, um es nicht jedes Mal neu eingeben zu müssen und klicken auf „Weiter“.

Thunderbird erkennt nun automatisch die Einstellungen unseres Servers. Dazu sind wohl die „autodiscover“ und „autoconfig“ Einträge im DNS gut… Jedenfalls haben wir die Wahl zwischen IMAP und POP3 Protokoll.

Wobei das heute mit mehreren Systemen, die auf das gleiche Konto zugreifen, eigentlich keine Wahl mehr ist. Wir entscheiden uns hier IMMER für IMAP, weil die Nachrichten dann auf dem Server verbleiben und wir mehrere Maschinen mit einem Mail-Konto synchronisieren. Eine Art Mail-Cloud :)

Wir klicken auf „Fertig“ und unser Postfach wird in Thunderbird eingerichtet…

Drücken wir auf den Namen unseres neuen Kontos links im Menü, können wir rechts noch bei Bedarf ein paar Daten ergänzen, wie eine Organisation, eine E-Mail-Signatur oder eine Visitenkarte.

Bei „Server-Einstellungen“ sehen wir die Ports und die Art der Verbindung. Hier wurde SSL/TLS über Port 993 ausgewählt.

Darunter befinden sich die Einstellungen für den Nachrichtenempfang und den Umgang mit gelöschten oder zu löschenden Nachrichten. Wer möchte, hakt hier „Papierkorb beim Verlassen leeren“ an, dann werden alle Nachrichten, die im Papierkorb liegen, beim Beenden von Thunderbird gelöscht.

Im „Kopien & Ordner“ Menü lasse ich alles so stehen, wie es ist. Das sind gute Standardwerte, die eigentlich nur angepasst werden müssen, falls wir schon eine komplett andere Ordnerstruktur gewöhnt sind.

Das Selbe gilt für die Rubrik „Verfassen & Adressieren“. Die hier eingestellten Werte empfinde ich als „Standard“ und sehe bis jetzt keinen Grund, sie zu ändern. Das ist aber – wie immer – Geschmackssache und bleibt euch überlassen, hier ein wenig zu spielen.

Beim „Junk Filter“ ändere ich allerdings schon ein paar Sachen…

Zum Einen Hake ich den Punkt „Neue Junk-Nachrichten verschieben in:“ an und lasse die Einstellung auf „Ordner ‚Junk‘ in [Postfach]“.

Ich aktiviere den Punkt „Junk-Nachrichten löschen, die älter sind als XX Tage“ und stelle hier „30“ ein.

Zum Anderen öffne ich den Link „Globale Einstellungen“, um das Verhalten des Junkfilter-Moduls von Thunderbird anzupassen.

Im Junk-Filter schalte ich den ersten Punkt ein „Wenn Nachrichten manuell als Junk markiert werden:“ und stelle dort die erste Option „Verschiebe diese in den für Junk bestimmten Ordner des Kontos“ ein.

Ich aktiviere beide Haken vor „Junk als gelesen markieren“ und „Junk-Protokoll für selbstlernenden Filter aktivieren“, weil Mailcows RSPAMd genau das unterstützt.

Mit einem Klick auf OK kehre ich zurück zu den Konten-Einstellungen, die ich nun ebenfalls mit „OK“ schließe und unsere Einstellungen abspeichere.

In unserem Mailkonto klicke ich mit rechts auf den Punkt „Junk“ und wähle aus dem Kontextmenü „Eigenschaften“.

Hier setze ich einen Haken vor der Option „Diesen Ordner auf neue Nachrichten überprüfen, wenn Nachrichten für dieses Konto empfangen werden“, damit im Falle von Spam hier eine Benachrichtigung erfolgt.

Mit einem Klick auf „OK“ speichere ich diese Einstellung ab.

Herzlichen Glückwunsch!
Die Einrichtung von Thunderbird ist abgeschlossen und wir können nun anfangen, über unser Postfach Mails zu empfangen und zu versenden…

Anzeige *

33 Kommentare zu „Mailcow installieren – der „dockerisierte“ Mailserver“

  1. ZITAT
    “Hostname” darf NICHT “Mailname” sein. Heißt der Mailserver “mail.xp-server.de”, dann darf der Hostname nicht genau so lauten. Hostname wäre hier z.B.: “xp-server.de”.
    ZITAT-END

    Was das für ein Schwachsinn?
    xp-server.de = Domainname!
    Und wo steht bitte das FQDN nicht Mailname sein darf?

  2. Hallo,
    ich habe noch ein Problem mit den Zertifikaten.
    Folgender Fehler im ACME Protokoll:
    mail.mydomain – Cannot validate any hostnames, skipping Let’s Encrypt for 1 hour.
    mail.mydomain – Confirmed A record with IP xx.xx.xx.xx, but HTTP validation failed
    Ich habe keine Idee warum.
    Port 80 ist freigeschaltet.

    Gruß Rolf

    1. Peter Fiedler

      Hallo Rolf,
      tut mir leid, aber den Fehler hatte ich noch nicht und kann darum keinen Tipp geben, woran das liegen könnte.
      Die Mailcow hat keine Firewall – 80 sollte auf dem Server offen sein, ja.

      Bitte mach einen Eintrag im Community Forum, da tummeln sich auch Entwickler. Die sollten Dir da kompetent weiterhelfen können.

      Beste Grüße
      Peter.

  3. Hallo,
    ich habe ein Testsystem aufgesetzt und es lief wunderbar.
    Dann habe ich ./update.sh ausgeführt.
    Nun starten die Container nicht mehr.
    Fehler beim Ausführen von docker-compose up -d
    ERROR: The Compose file ‚./docker-compose.yml‘ is invalid because:
    networks.mailcow-network.ipam.config.subnet is invalid: should use the CIDR format
    Ich habe keine Idee, was ich machen soll.
    Gruß
    Rolf

    1. Peter Fiedler

      Hallo Rolf,
      hab auf meinem Testserver auch gerade ein update.sh gefahren und da ist die Mailcow danach wieder anstandslos hochgekommen.

      Da ich an der Stelle auch nur raten kann, fragst Du am besten direkt im MailCow Forum die Community um Rat:
      https://community.mailcow.email/

      Viel Glück!
      Peter.

    2. Fehler gefunden.
      In der mailcow.conf
      IPV4_NETWORK=172.22.1
      stand dummes Zeug drin.
      Vorsicht beim unsachgemäßen editieren.

      Gruß
      Rolf

  4. Ich möchte die bisherige Installation von Mailcow unter einer anderen URL verfügbar machen, beudetet das Admin-Interface aber auch die SOGO-Instanz. Worauf sollte ich achten und wo muss ich die Anpassungen vornehmen? Der Mail-Hostname ist identisch zur bisherigen URL. Könnte das Probleme geben?

  5. Hallo,
    vielen Dank für die ausführliche Anleitung.
    Hat einer von euch es geschafft Mailcow mit in den Traefik verbund einzufädeln?
    Komme da leider nicht weiter.

    MFG

    1. Okay, habs scheinbar doch selbst geschafft.
      Nachdem ich herausgefunden habe, dass meine DB Passwörter nicht gematched haben.
      Hier meine docker.compose.overwrite.yml – https://pastebin.com/Hg13S0xP
      Zusätzlich halt in der mailcow.conf:
      HTTP_BIND=127.0.0.1
      HTTP_PORT=8080
      HTTPS_BIND=127.0.0.1
      HTTPS_PORT=8443
      SKIP_LETS_ENCRYPT=y
      Dann sollte alles so starten, dass man Mailcow mit dem hier schon vorher eingerichteten Traefik nutzen kann.

      1. Hallo Sascha,
        schön, dass Du es hinbekommen hast und vielen Dank für das Posten der Lösung :)

        Ich hab das immer sein lassen mailcow mit den anderen Diensten zu verbinden, weil die Mailserver bei mir wirklich systemkritisch sind und ich die darum tatsächlich lieber auf eigenen Maschinen hoste. Ein Ausfall würde mein Geschäft schädigen.

        In dieser Anleitung wird das Vorgehen auch beschrieben, die hat Juno damals gefunden:
        https://goneuland.de/mailcow-e-mail-komplettsytem-mit-antivirus-spam-filer-webmail-webfrontend-installieren-mittels-docker-und-traefik/#4_Anpassungen_fuer_Traefik_vornehmen

        Was mich abhält sind zwei Sachen:
        – die Möglichkeit, dass Container „überlappen“ und dann auf einmal Dienste stehen bleiben, weil die sich um die IP prügeln
        – ein Wildcard-Zertifikat für den Mailserver. Für Wildcard muss die API vom Domainanbieter mit in die Config. Und die API von netcup ist leider viel zu mächtig, als dass ich die irgendwo stehen haben will.

  6. Hi, wenn du mal Zeit hast, wäre es toll wenn du mal schauen schauen kannst, ob du eine Möglichkeit siehst, Piler oder einen ähnliches Email Archiv aufzusetzen. Am betsen natürlich in Docker und wie das funktioniert dann. :-)

    1. Da such ich selber so sehr danach, Jan…
      Das ist das Einzige, das dem Mailcow „out of the box“ fehlt – eine Archiv-Funktion.

      Piler hat ein Bekannter von mir am Laufen für seine Firma und dessen Mailarchiv. Muss ich mir doch mal ansehen…

  7. Nachdem ich jetzt mehrmals dieses tolle Tutorial durchforstet habe, habe ich nun doch eine Frage (auf die Gefahr hin, dass ich den Bereich überlesen habe):
    Woher bekomme ich den „Crypt-Key“ für das backup oder wo lege ich diesen fest?

    1. So wie ich das verstanden habe, erzeugt die Mailcow den Schlüssel selbst bei der Installation. Im Backup wird der Schlüssel mit gesichert, damit Du nachher beim Rücksichern die Mails wieder entschlüsseln kannst.
      Jedenfalls hab ich „crypt-key“ beim Backup als Verzeichnis gesehen…

      1. Hallo Peter, danke für die Antwort :-)
        Ich frage nur für den Fall der Fälle. Ich sichere mir den Server auch noch regelmäßig per Backup, aber ggf. benötige ich ja nur mal die Datensicherung.
        Diese tolle ANleitung habe ich übrigens heute einem Freund weiterempfohlen :-D
        Viele Grüße Michael

  8. Ich kam wegen meiner Traefik-Probleme – nun habe ich einen Mail-Server :D

    Deine Erklärungen passen wirklich genau zu meinem Wissenstand. Macht echt Spaß sich da durchzuarbeiten! Danke

  9. Hallo Peter !
    Vielen Dank für diese klasse Anleitung !!!

    Vor allem das Thema Backup & Restore ist sehr hilfreich …
    … sehr passend, da ich es hinbekommen habe, den Cloudspeicherplatz ( HiDrive ) so einzubinden,
    dass nach Aufruf des Backup-Scriptes, die Dateien in ein Verzeichnis gespeichert werden, welches automatisch
    mit HiDrive synchronisiert.

    Jetzt muss ich nur noch die Restore Funktion testen … ;-)
    Gäbe es hier auch die Möglichkeit – wie beim Backup – alles auf einmal wieder herzustellen ?!

    Ach ja, wie sieht es denn mit einer Archiv-Funktion aus ?

    Gruß, Martin

    1. Peter Fiedler

      Gerne, Martin.

      Der Restore funktioniert seit einem der Updates nun auch auf einen Rutsch. Da wurde die Option „All“ mit eingebaut.

      Archiv gibts wohl noch keins – zumindest hab ich noch keins gefunden.

      Beste Grüße
      Peter.

  10. Hallo, hört sich gut an… Ich habe mittlerweile mehrere Container auf deiner Basis installiert. Jetzt möchte ich gerne auch Mailcow ins Leben rufen. Klappt das? Meine Ports sind ja schon sozusagen belegt.

    Danke für deine Hilfe

    1. Nein, leider nicht.
      Die Mailcow läuft bei mir auf einer separaten Maschine. Auch die Macher der Mailcow empfehlen eine eigene Maschine dafür.

      Beste Grüße
      Peter.

        1. Peter Fiedler

          Hi Juno,
          wow, das ist pfiffig…

          Versucht hab ich es, ja. Allerdings hatte ich damals alle Änderungen direkt in der docker-compose.yml drin, die bei jedem Update überschrieben wurde. Dann hab ich es sein lassen.
          Beste Grüße
          Peter.

          1. Schade wie es ausschaut muss ich wohl doch in einen zweiten Server investieren.

          2. Peter Fiedler

            Sorry, da hab ich mich wohl falsch ausgedrückt…
            Mit der Anleitung, die Du mir geschickt hast, ist das Betreiben von mailcow und den Anwendungen auf der selben Maschine möglich. Gibt halt die beschriebenen Konflikte, falls die IP-Range schon in Gebrauch ist. Und Du hängst von einem Image ab, das die Zertifikate von Let’s Encrypt an die mailcow weiterreicht. Aber ansonsten sollte das funktionieren.

            Ich persönlich trenne gerne Mail vom Rest des Systems, nicht nur weil die Macher von der mailcow das empfehlen, sondern auch um unterschiedliche Management-Strategien zu fahren.

          3. Verstehe deine Entscheidung. Die erwähnte Anleitung ist auch sehr kurz gehalten. Über seine DNS-Config erzählt er auch nichts…

          4. Hier geb ich den Tipp den man auch in mailcow’s Anleitungen findet deine Änderungen anstelle sie in die docker-compose.yml zu schreiben, sie in die (zu erstellende Datei) docker-compose.override.yml zu schreiben. Beim Start der docker-compose.yml werden hier noch die Änderungen / überschriebenen Werte aus der docker-compose.override.yml angewendet. Vorteil ist auch bei Updates wird nichts überschrieben, weil die .override.yml nicht Teil des git-repository/des Updates ist.

          5. Danke für den Hinweis!
            Das mit den Updates ist wirklich eine gute Sache… Da bin ich offenbar drüber gestolpert, als ich die Config damals bearbeitet habe.

            Beste Grüße und ein schönes Wochenende ;)
            Peter.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top