Erster Registrierungs-E-Mail-Rückgabecode verloren

Bei der ersten Registrierung per E-Mail, installiert mit dem neuesten Docker-Image, antwortet mein SMTP-Server mit:

Unexpected return code 554 (expected 250):
“Access denied: User `arn:aws:iam::[acct]:user/[user]' is not authorized to perform `ses:SendRawEmail' on resource `arn:aws:ses:us-west-1:[acct]:identity/[identity]'”.

In der Discourse-Logdatei production.log steht jedoch Folgendes:

Started PUT "/finish-installation/resend-email" for [ip] at 2020-11-16 20:58:10 +0000
Processing by FinishInstallationController#resend_email as HTML
  Parameters: ...
Completed 200 OK in 23ms (Views: 6.4ms | ActiveRecord: 0.0ms | Allocations: 6023)
...
Delivered mail [randid]@[hostname] (191.3ms)

Meiner Meinung nach sollte die Website oder zumindest die Logs einen Fehler zurückgeben, anstatt eine Erfolgsmeldung.

Vielen Dank,
Jeff

1 „Gefällt mir“

In der Regel werden E-Mails in einer Hintergrundwarteschlange versendet, sodass dies für den Benutzer unsichtbar bleibt.

Ich bin jedoch offen dafür, den Assistenten bei Fehlern etwas auffälliger und lauter zu gestalten. Dafür müsste er jedoch den Server abfragen, um dies zu ermitteln. Das ist wahrscheinlich eine ziemlich große Änderung, ich bin mir nicht sicher.

2 „Gefällt mir“

Für den Assistenten: Es ist in Ordnung, wenn der Assistent den Fehler nicht anzeigt. Er sollte jedoch auch nicht signalisieren, dass die E-Mail erfolgreich gesendet wurde. Eine Aussage, die der Wahrheit näher kommt, wäre hilfreicher. Falls es zu schwierig ist, den Rückgabestatus anzuzeigen, wäre es besser zu sagen: „Registrierungs-E-Mail erfolgreich in die Warteschlange aufgenommen. Überprüfen Sie /path/to/log auf den Status.

1 „Gefällt mir“

Wenn Sie abenteuerlustig sind, würde ich mich sehr über einen PR freuen, der dies verbessert.

2 „Gefällt mir“

Danke, dass du offen für die Änderung bist. Ich werde sie auf meine To-Do-Liste setzen, aber ich werde nicht beleidigt sein, wenn jemand anderes zuerst dazu kommt :slight_smile:

1 „Gefällt mir“

Nach dem Admin-Login sind die E-Mail-Fehler in der Admin-Konsole sichtbar, was darauf hindeutet, dass sie in der Datenbank gespeichert sind und bereits vor dem Abschluss der ersten Admin-Registrierung über die Datenbank zugänglich gewesen sein könnten.

Die Tabelle skipped_email_logs enthält die Informationen, die ich gesucht habe.

Wenn Sie als Benutzer discourse im Discourse-Container angemeldet sind, können Sie folgenden Befehl ausführen:

psql discourse -c "select * from skipped_email_logs"