Hallo Leute,
ich möchte ein seit langem bestehendes Forum von phpBB3 auf Discourse umstellen. Ich habe es geschafft, Docker einzurichten und kann auf die Ersteinrichtung zugreifen. Leider wird keine E-Mail gesendet, sodass ich die Einrichtung nicht abschließen kann.
Ich habe einige Debugging-Versuche unternommen und konnte die Ursache nicht finden, daher wende ich mich an euch um Hilfe.
Meine Einrichtung sieht wie folgt aus: Ich habe Apache2 als Reverse-Proxy für Docker eingerichtet, was funktioniert. Mein Mailserver ist ein Mailcow-Docker auf demselben Rechner. Der Mailserver wurde gründlich getestet und funktioniert täglich über SMTP mit STARTTLS auf Port 587 und Webmail einwandfrei.
Die Konfiguration in meiner app.yml sieht wie folgt aus:
DISCOURSE_SMTP_ADDRESS: mail.example.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: discourse@example.com
DISCOURSE_SMTP_PASSWORD: "password"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, Standard true)
#DISCOURSE_SMTP_DOMAIN: mail.example.com
DISCOURSE_NOTIFICATION_EMAIL: discourse@example.com
Wenn ich ./discourse-doctor ausführe, erhalte ich:
==================== MAIL TEST ====================
Für einen robusten Test, holen Sie sich eine Adresse von http://www.mail-tester.com/
Oder senden Sie einfach eine Testnachricht an sich selbst.
E-Mail-Adresse für Mail-Test? ('n' zum Überspringen) [admin@example.com]:
Sende Mail an admin@example.com. . .
Teste das Senden an admin@example.com über mail.example.com:587, Benutzername: discourse@example.com mit Plain Auth.
=======================================
FEHLER
=======================================
UNERWARTETER FEHLER
Kann die angeforderte Adresse nicht zuweisen - connect(2) für [korrekte ipv6]:587
=======================================
LÖSUNG
=======================================
Dies ist kein häufiger Fehler. Es gibt keine empfohlene Lösung!
Bitte melden Sie die genaue Fehlermeldung oben unter https://meta.discourse.org/
(Und eine Lösung, wenn Sie eine finden!)
Da ich im Web keine Personen mit ähnlichen Fehlermeldungen finden konnte, habe ich mich diesem Thread zugewandt.
Ich konnte mich problemlos mit Telnet von außerhalb des Containers mit dem Mailserver verbinden.
Was ich innerhalb des Containers versucht habe:
getent hosts mail.example.com
liefert die korrekte IPv6-Adresse.
Aber dann begannen die Fehler aufzutreten:
openssl s_client -connect mail.example.com:587 -starttls smtp
140124593714496:error:0200206E:system library:connect:Connection timed out:../crypto/bio/b_sock2.c:110:
140124593714496:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=110
openssl s_client -6 -connect "[korrekte IPv6]:587" -starttls smtp
139918557709632:error:02002063:system library:connect:Cannot assign requested address:../crypto/bio/b_sock2.c:110:
139918557709632:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=99
openssl s_client -connect smtp.gmail.com:587 -starttls smtp
funktioniert einwandfrei.
Wenn ich den
openssl s_client -connect mail.example.com:587 -starttls smtp
von außerhalb des Containers versuche, funktioniert es auch einwandfrei.
Meine Mailcow/Postfix-Protokolle zeigen nichts an…
Ich bin ratlos. Könnt ihr mir helfen, wo ich als Nächstes suchen soll?