E-Mail mit Doctor getestet, funktioniert und E-Mails empfangen.
Versuch, das Admin-Konto zu aktivieren, und Sidekiq zeigt dies an (mit geschwärztem Token):
{“type”=>“signup”, “user_id”=>1, “email_token”=>“REDACTED”, “to_address”=>nil, “current_site_id”=>“default”}
Ich bin mir nicht sicher, warum nil für to_address ein Ding ist.
Jeder Tipp, Ratschlag oder Vorschlag wäre sehr willkommen!
Ich kann es wahrscheinlich finden, aber weißt du, wie der Sidekiq-Job hieß, der die E-Mail ausgelöst hat?
Wenn Sie nicht auf die Website zugreifen können, weil Sie die Aktivierungs-E-Mail nicht erhalten, können Sie einen Administratorbenutzer und ein Passwort mit rake admin:create erstellen. Eine vollständige Anleitung finden Sie hier: Create an admin account from the console. Damit sollten Sie sich auf der Website anmelden können.
Es scheint, dass Sie immer noch klären müssen, was mit der E-Mail-Zustellung los ist.
Entschuldigen Sie die verspätete Antwort. Der Job, der dies ausgelöst hat, war: Jobs::CriticalUserEmail
Ich habe also die Anleitung genau befolgt. Als es darum ging, das Admin-Konto zu registrieren, wurde keine E-Mail gesendet, und Jobs::CriticalUserEmail enthielt {„type“=>„signup“, „user_id“=>1, „email_token“=>„REDACTED“, „to_address“=>nil, „current_site_id“=>„default“}.
Ich habe das Admin-Konto erzwungen, nur um zu sehen, welche Probleme es gab. Das Ergebnis ist das folgende:
Doktor funktioniert und E-Mail wird empfangen
Digest-Test funktioniert und E-Mail wird sowohl in HTML- als auch in Plain-Version empfangen
Bei jeder Registrierung wird keine E-Mail gesendet, und das Protokoll für E-Mails im Admin-Bereich zeigt nicht einmal eine Nachricht an, dass eine E-Mail gesendet wurde.
Immer wenn ein Benutzer versucht, sich zu registrieren, ist das Ergebnis dasselbe:
Jobs::CriticalUserEmail enthielt {„type“=>„signup“, „user_id“=>2, „email_token“=>„REDACTED“, „to_address“=>nil, „current_site_id“=>„default“}.
Der Schwanz von /var/discourse/shared/standalone/log/rails/production.log zeigt (mit Schwärzungen):
Processing by UsersController#check_username as JSON
Parameters: {"username"=>"bobo", "email"=>"REDACTED"}
Completed 200 OK in 2ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 636)
Started GET "/session/csrf" for REDACTEDPUBLICIP at 2024-09-26 08:13:03 +0000
Processing by SessionController#csrf as JSON
Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 270)
Started POST "/u" for REDACTEDPUBLICIP at 2024-09-26 08:13:03 +0000
Processing by UsersController#create as */*
Parameters: {"name"=>"JJ", "email"=>"REDACTED", "password"=>"[FILTERED]", "username"=>"bobo", "password_confirmation"=>"[FILTERED]", "challenge"=>"REDACTED", "timezone"=>"Europe/London"}
Completed 200 OK in 335ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 23323)
Started POST "/login" for REDACTEDPUBLICIP at 2024-09-26 08:13:04 +0000
Processing by StaticController#enter as HTML
Parameters: {"username"=>"bobo", "password"=>"[FILTERED]", "redirect"=>"/u/account-created"}
Redirected to https://REDACTEDDOMAIN/u/account-created
Completed 302 Found in 1ms (ActiveRecord: 0.0ms | Allocations: 507)
Started GET "/u/account-created" for REDACTEDPUBLICIP at 2024-09-26 08:13:04 +0000
Processing by UsersController#account_created as HTML
Rendered layout layouts/application.html.erb (Duration: 14.0ms | Allocations: 4624)
Completed 200 OK in 21ms (Views: 15.1ms | ActiveRecord: 0.0ms | Allocations: 6821)
Started GET "/sidekiq/queues/critical" for REDACTEDPUBLICIP at 2024-09-26 08:13:15 +0000
Im Protokoll dort werden zwar genaue E-Mail-Adressen für die Registrierungsparameter angezeigt, aber Sidekiq meldet immer noch „to_address“=>nil.
Gibt es Fehler auf der Seite „Fehlerprotokolle“ Ihrer Website? Diese Seite finden Sie unter /logs. Sie können sie über die Seitenleiste des Administrators erreichen, indem Sie auf den Eintrag „Sicherheit / Fehlerprotokolle“ klicken.
Mit Redis und/oder Sidekiq stimmt etwas nicht. Es gibt ein paar andere Mitglieder dieses Forums, die vielleicht Ideen haben, wie man das Problem debuggen kann.
Ich wäre versucht, mich per SSH auf dem Server anzumelden und Folgendes auszuführen:
Ich kann Ihnen den genauen Prozess geben, den ich verwendet habe. Vielleicht ist etwas in dem Prozess, den ich mache, falsch. Ich bin bereit, völlig zu akzeptieren, dass ich irgendwo einen Fehler mache!
Haben Sie eine Domain. Es ist discourse.domain.dev (Domain offensichtlich geschwärzt)
Haben Sie ein E-Mail-Konto eingerichtet. Ich habe ein Mailgun-Konto, also habe ich einen brandneuen Benutzer für SMTP eingerichtet. Die E-Mail lautet discourse@discourse.domain.dev
Haben Sie einen Server. Es ist das neueste Ubuntu (Jammy Jellyfish)
apt install docker.io - Keine
Git war bereits installiert
Benutzer war root
geklont mit git clone https://github.com/discourse/discourse_docker.git /var/discourse
navigiert zu cd /var/discourse
chmod 700 containers
immer noch root-Benutzer
ausgeführt ./discourse-setup
Informationen wie gewünscht eingegeben: discourse.domain.dev
./discourse-doctor ausgeführt. Es schlug fehl, da es keine Verbindung zu Redis herstellen konnte.
./launcher rebuild app ausgeführt und nichts an der Konfiguration geändert
Es wurde gebaut. Alles in Ordnung. Der einzige Unterschied war die letzte geschwärzte lange Zeichenkette.
./discourse-doctor ausgeführt. Ich habe die Test-E-Mail von ihm erhalten.
Die Seite war online, also habe ich ein Benutzerkonto für den Administrator erstellt.
Registrieren geklickt
Es wurde gesagt, dass eine Benachrichtigungs-E-Mail gesendet wird.
Keine erhalten.
Über ./discourse-docter nachgesehen und Folgendes gesehen: Discourse version at discourse.domain.dev: NICHT GEFUNDEN Discourse version at localhost: NICHT GEFUNDEN
./launcher enter app ausgeführt
rake admin:create ausgeführt
E-Mail eingegeben: my@personal.email
Passwort zurücksetzen, da Benutzer bereits existiert
Gesagt: “Ihr Konto hat jetzt Admin-Rechte!”
Sich auf der Website unter der Domain angemeldet
Gehen Sie zu discourse.domain.dev/logs - sehen Sie “Sidekiq heartbeat test failed, restarting”
Gehen Sie zu discourse.domain.dev/sidekiq: Sehen Sie:
Dies ist eine vollständige Wiederholung auf einer neuen Maschine heute. Dies sind die GENAU gleichen Schritte, die ich zuvor verwendet habe. Bitte, wenn ich mich verrechnet habe, lassen Sie es mich wissen!