• Sspeendo

      Moolevel 2

    Hallo und danke, dass ihr Mailcow entwickelt! Es ist wirklich ein großartiges Tool!

    Ich habe meine Mailcow-Installation auf meinem Proxmox-Server in einem eigenen LXC-Container laufen. In einem anderen LXC-Container laufen diverse andere Docker-Services, unter anderem NextCloud und OpenProject.

    NextCloud und OpenProject sind so konfiguriert, dass sie Admin-Mails über Mailcow versenden. Die Einstellungen sind folgendermaßen:

    Ich versuche also in beiden Services die Einstellungen so zu setzen, dass die interne IP-Adresse des Mailcow-Containers verwendet wird und in beiden Fällen nutze ich den user robot@domain.tld, der so konfiguriert ist, dass er auch Nachrichten von den entsprechenden anderen Adressen (z.B. noreply-nextcloud@domain.tld) versenden darf.

    Bis vor kurzem hat das auch funktioniert. Jetzt aber nicht mehr, es scheint Probleme mit SSL zu geben. Hier ein Auszug aus dem Log:

    Könnt ihr mir helfen, die Konfiguration zu korrigieren, um wieder Mails aus NextCloud und OpenProject versenden zu können?

    Vielen Dank schon jetzt!

    • SSirSlarti

        Moolevel 1

      Wie lange hat es gelaufen?

      Have something to say?

      Join the community by quickly registering to participate in this discussion. We'd like to see you joining our great moo-community!

      • Sspeendo

          Moolevel 2

        Hi!
        Es ist mehrere Jahre so gelaufen.
        Leider weiß ich nicht genau, wodurch das Probleme entstanden ist - möglicherweise ein Mailcow-Update…?

        • SSirSlarti

            Moolevel 1

          Ich hab da leider keine Antwort. Hab aber gerade selber etwas gelöst. Es schaut nach einem Zertificats problem aus.
          Siehe die Zeile bad certificate. Vielleicht kannst du das Zerti erneuern?

          • Sspeendo

              Moolevel 2

            so konnte ich es leider bisher nicht lösen 🙁

            • DocFraggle

              • Community Hero
              Moolevel 279

            Hast Du evtl Probleme mit Uhrzeit/Datum auf Deinem Server? Der SSL Error 42 bedeutet “Certificate not yet valid”, also Zertifikat noch nicht gültig

            • Sspeendo

                Moolevel 2

              Hallo!
              Auf der VM die der Docker Server ist, war tatsächlich die falsche Zeitzone eingestellt (UTC statt UTC+1). Das habe ich nun korrigiert.

              Allerdings scheint das nicht der einzige Fehler gewesen zu sein 🙁

              Ich versuche mal noch mehr Logs aus der NextCloud zu bekommen…

              • Sspeendo

                  Moolevel 2
                • Edited

                Ich hab noch mehr Infos aus der NextCloud rausholen können. Das hier sagt das Log der NextCloud:

                TransportException Unable to connect with STARTTLS: stream_socket_enable_crypto():
                Peer certificate CN=`mail1.meinedomain.net' did not match expected CN=`10.9XX.XXX.XX1'

                (die IP ist meine interne IP)

                Sehr laienhaft erklärt scheint mir, dass das interne Routing auf meinem Server immer die interne IP (10.9XX.XXX.XX1) verwendet, aber das Zertifikat natürlich für meine Domain und nicht für die IP ausgestellt ist.

                Macht das irgendwie Sinn? Und was kann ich tun?

                  • esackbauer

                    • Community Hero
                    Moolevel 374

                  speendo

                  Du hast im Nextcloud die IP Adresse 10.9XX.XXX.XX1 eingetragen anstatt den FQDN (z.b. mail.meinedomain.net)

                  • DocFraggle

                    • Community Hero
                    Moolevel 279
                  • Edited
                  • Best Answerset by speendo

                  Wenn Du unbedingt die interne IP verwenden willst/musst könntest Du auf dem Nextcloud Host die /etc/hosts bearbeiten und dort

                  10.9XX.XXX.XX1 mail1.meinedomain.net

                  zusätzlich eintragen. Dann kannst Du “mail1.meinedomain.net” in Nextcloud eintragen und gehst trotzdem auf die interne IP ohne Zertifikats Fehler

                  Oder das hier

                  Nextcloud community Icon Additional settings Email configuration - SOLVED

                  • Sspeendo

                      Moolevel 2
                    • Edited

                    Danke für Eure Antworten!

                    Ich würde eigentlich lieber die Domain verwenden, aber das funktioniert leider nicht und führt exakt zu der gleichen Fehlermeldung…

                    Auch den Eintrag in der /etc/hosts habe ich gerade probiert. Nun kann ich zwar über telnet zu mail1.meinedomain.net verbinden (das ging vorher nicht) aber Mails aus der Nextcloud gehen trotzdem noch nicht.

                    Ich bin etwas verwirrt.

                    @DocFraggle den Link muss ich mir noch ansehen…

                    [edit] muss kurz einen Fehler in der Nextcloud-Config ausschließen

                      • esackbauer

                        • Community Hero
                        Moolevel 374

                      speendo aber Mails aus der Nextcloud gehen trotzdem noch nicht.

                      Trage die IP Adresse des Nextcloud Server als “Weiterleitungshost” im Mailcow GUI ein.

                      • Sspeendo

                          Moolevel 2

                        @esackbauer danke!
                        Die interne IP meinst Du, oder? Hab es probiert, leider noch immer kein Erfolg und noch immer die gleiche Fehlermeldung in der NextCloud. Und auch im Postfix-Protokoll sehe ich noch die gleiche Warnung.

                        Kann ich mich dem Problem irgendwie strukturiert nähern?

                        • esackbauer

                          • Community Hero
                          Moolevel 374
                        • Edited

                        Dann versucht Nextcloud immer noch über die im Screenshot ganz oben bei “SMTP-Server” hinterlegte IP Adresse 10.xx.x. zu senden.
                        Da muss mail1.meinedomain.net rein

                        Des weiteren darfst du keinen Usernamen und Passwort angeben, wenn du auf Port 25 einlieferst. Ich vermute das “none” deaktiviert das eh, aber lösch es sicherheitshalber da raus. Eine Stelle weniger wo ein Passwort im Klartext gespeichert ist 😉
                        HELO Domain solltest du auch mal leer lassen. Du hast wohl nicht richtig verstanden/nachgelesen was da reinkommt 😉 Jedenfalls NICHT der mailserver.

                        Du könntest auch einfach STARTTLS deaktivieren. Für die Meldungen die innerhalb des internen Netzes verschoben werden ist das nicht dramatisch. Nach aussen hin sendet Mailcow ja dann mit STARTTLS.

                        • Sspeendo

                            Moolevel 2

                          Danke! Ich probier noch immer herum und ich kann schon bestätigen, dass die Nextcloud blöder weise meine Eingaben in der Maske komplett ignoriert hat, weil ich die Settings im docker-compose file drin hatte und die offenbar alles andere überschreiben. Jetzt ist es dort mal draußen und ich bekomm eine neue Fehlermeldung. Ich hab mich mal testweise im Container von der Nextcloud eingeloggt und folgendes probiert:

                          # telnet mail1.meinedomain.net 587
                          Trying <externe ip>...
                          telnet: Unable to connect to remote host: Connection refused

                          warum ist mir noch schleierhaft, weil 1. hab ich am docker host in der /etc/hosts (testweise) die interne IP des Mailservers eingetragen, 2. funktioniert der Befehl vom Docker host aus und drittens funktioniert der Befehl auch von meinem Heimrechner aus, wo er auch über die externe IP verbinden will…

                          More research to be done…

                          • DocFraggle

                            • Community Hero
                            Moolevel 279

                          Ja wenn das ein Nextcloud Container ist muss das natürlich darin in die hosts Datei

                          • Sspeendo

                              Moolevel 2

                            hm, ja, das ist ungünstig, weil das müsste ich ja dann in allen containern machen, nicht nur in der nextcloud. und es sind gar nicht so wenige…

                            besser wäre es, wenn das routing von haus aus richtig funktioniert. ich glaube, ich muss in der /etc/ferm/ferm.conf am host (also am proxmox-server) den entsprechenden Eintrag hinzufügen. ich weiß nur leider nicht, wie der aussehen sollte 🙁

                            • Sspeendo

                                Moolevel 2

                              Sorry für die späte Rückmeldung. Ich habs noch nicht probiert. Werd ich asap machen und dann Rückmeldung geben. Aber damit kann es ja dann leider auch nur mit der internen IP funktionieren und nicht mit der Domain, so wie es mein bevorzugter Ansatz wäre.

                                • DD4niel

                                  • Community Hero
                                  Moolevel 45

                                Mit irgendwelchen Hosts-Dateien in Containern würde ich gar nicht erst anfangen. Wenn du einen DNS-Namen innerhalb von Docker anders auflösen möchtest, gibt es dafür den Docker Documentation Icon Network Alias

                                .
                                Im Endeffekt müsstest du den Postfix-Container ist das Docker-Netzwerk der Nextcloud hängen und dem Postfix-Container in diesem Netzwerk den normalen FQDN als Alias geben. Dann wird der FQDN innerhalb des Nextcloud-Netzwerks zur Container-IP aufgelöst.