Erste Registrierungs-E-Mail nicht gesendet

Hallo,

ich habe gerade eine frische Installation von Discourse durchgeführt.

Bei der ersten Verbindung wurde ich aufgefordert, einen Benutzernamen und ein Passwort für das Administratorkonto zu erstellen. Es sollte mir eine Aktivierungs-E-Mail gesendet werden.

Diese Aktivierungs-E-Mail ist jedoch nicht eingegangen (ich habe selbstverständlich auch den Spam-Ordner überprüft). Daher habe ich [den „Doctor

Es könnten zwei Dinge schiefgelaufen sein:

  • Die E-Mail wurde nicht gesendet
  • Die E-Mail wurde gesendet, aber nicht zugestellt

Da dies eine neue Instanz ist, ist es am einfachsten, alle ausgehenden E-Mail-Protokolle über die Rails-Konsole zu überprüfen:

discourse(prod)> EmailLog.all.pluck(:to_address, :email_type, :created_at, :smtp_transaction_response)

Wenn Sie Einträge sehen, wissen Sie, dass die E-Mail zumindest an den SMTP-Server übergeben wurde, an dem die Verantwortung von Discourse endet.

Wenn Sie keine Einträge sehen, wurde die E-Mail wahrscheinlich nicht gesendet. In diesem Fall finden Sie wahrscheinlich aussagekräftige Protokolle, indem Sie nach dem Einloggen als Administrator die URL-Pfade /logs und /sidekiq überprüfen.

Wir können sehen, dass die Test-Nachricht gesendet wurde (und ich habe sie tatsächlich erhalten), indem wir ./discourse-doctor ausgeführt haben, aber es gibt keinen Eintrag für die Registrierungs-Nachrichten:

discourse(prod)> EmailLog.all.pluck(:to_address, :email_type, :created_at, :smtp_transaction_response)
=> [["user@domain.org", "test_message", 2026-05-13 16:23:41.417177000 UTC +00:00, "250 2.0.0 Ok: queued as 4B4DDB0059A"]]

Im production.log finden wir vier Registrierungs-Nachrichten (ich habe tatsächlich vier Versuche unternommen, mich zu registrieren). Diese Registrierungs-Nachrichten wurden jedoch nie empfangen, also vermute ich, dass sie nie gesendet wurden, obwohl es keinen Fehler oder Warnhinweis gibt.
Man kann feststellen, dass in diesen Logs keine Spur der erfolgreich gesendeten (und empfangenen) Test-Nachricht zu finden ist.

root@my-vps-app:/var/www/discourse/log# cat production.log | grep user
  Parameters: {"authenticity_token" => "ityyLIdjT7xvdxEd01LjMT08-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
  Parameters: {"authenticity_token" => "tnDxYkOOwXYcv59Ez4t8vWPir-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
  Parameters: {"authenticity_token" => "bvOwVYHS3N_UELipxVEG3L3LY-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
  Parameters: {"authenticity_token" => "oo6GN-n7clGI5F1-uqzsZcadeP-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}

Andere Logdateien sind leer:

root@my-vps-app:/var/www/discourse/log# cat production_errors.log 
root@my-vps-app:/var/www/discourse/log# cat sidekiq.log 
root@my-vps-app:/var/www/discourse/log# cat unicorn.stderr.log 
root@my-vps-app:/var/www/discourse/log# cat unicorn.stdout.log 

Die Docker-Logs der Discourse-App zeigen vier Meldungen, dass etwas fehlt (und wir haben vier gescheiterte Registrierungs-Nachrichten):

root@my-vps:/var/discourse# docker logs app
...
I, [2026-05-13T16:14:30.769269 #3290]  INFO -- : worker=7 gen=0 pid=4295 registered
I, [2026-05-13T16:14:30.815178 #4295]  INFO -- : worker=7 gen=0 pid=4295 ready
X-Accel-Mapping header missing
X-Accel-Mapping header missing
X-Accel-Mapping header missing
X-Accel-Mapping header missing

Kann das helfen?