Email di prima registrazione codice di ritorno perso

Per la prima email di registrazione, installata con l’ultima immagine Docker, il mio server SMTP risponde con:

Codice di ritorno inaspettato 554 (atteso 250):
"Accesso negato: l'utente `arn:aws:iam::[acct]:user/[user]' non è autorizzato a eseguire `ses:SendRawEmail' sulla risorsa `arn:aws:ses:us-west-1:[acct]:identity/[identity]'".

Tuttavia, il file di log di Discourse production.log mostra quanto segue:

Iniziata richiesta PUT "/finish-installation/resend-email" per [ip] il 2020-11-16 20:58:10 +0000
Elaborazione da parte di FinishInstallationController#resend_email come HTML
  Parametri: ...
Completata con 200 OK in 23ms (Views: 6.4ms | ActiveRecord: 0.0ms | Allocations: 6023)
...
Email inviata [randid]@[hostname] (191.3ms)

A mio avviso, il sito web, o perlomeno i log, dovrebbero restituire un errore invece di un messaggio di successo.

Grazie,
Jeff

1 Mi Piace

In genere, le e-mail vengono inviate in una coda in background, quindi questo processo è invisibile all’utente.

Tuttavia, sono aperto all’idea di rendere la procedura guidata un po’ più elaborata e evidente in caso di errori, ma sarà necessario eseguire polling sul server per rilevare tali situazioni. Probabilmente si tratta di una modifica piuttosto significativa, non sono sicuro.

2 Mi Piace

Per la procedura guidata: va bene se la procedura guidata non visualizza l’errore. Tuttavia, non dovrebbe nemmeno indicare che l’email è stata inviata con successo. Qualcosa di più vicino alla realtà sarebbe più utile. Se è troppo difficile mostrare lo stato di ritorno, sarebbe meglio dire: “email di registrazione aggiunta con successo alla coda. controlla /path/to/log per lo stato.”

Per il registro: il thread worker dovrebbe registrare lo stato, specialmente in caso di errore. Non conosco l’architettura, ma non vedo nulla di utile in “unicorn.stderr.log” o in nessun altro luogo. Qualcosa deve essere in grado di intercettare il codice di ritorno e il messaggio di errore…

1 Mi Piace

Se ti senti avventuroso, sarei più che felice di vedere una PR che migliora questo.

2 Mi Piace

Grazie per essere aperto al cambiamento. Lo aggiungerò alla mia lista di cose da fare, ma non me ne offenderò se qualcun altro se ne occupa prima :slight_smile:

1 Mi Piace

Dopo l’accesso come amministratore, gli errori relativi alle email sono visibili dalla console di amministrazione, indicando che sono archiviati nel database e che avrebbero potuto essere accessibili tramite il database prima del completamento della prima registrazione di un amministratore.

La tabella skipped_email_logs contiene le informazioni che stavo cercando.

Se hai effettuato l’accesso al container di Discourse come utente discourse, puoi eseguire:

psql discourse -c "select * from skipped_email_logs"