Il testo dopo il + in un indirizzo email viene ignorato nel controllo di unicità

Passaggi per riprodurre

  1. Crea un nuovo account su https://community.drownedinsound.com.
  2. Utilizza un’email GMail con un carattere + nel nome utente, ad esempio jobloggs+discourse@gmail.com
  3. Esci.
  4. Crea un altro account utilizzando un’email GMail con testo diverso dopo il segno +, ad esempio jobloggs+discobot@gmail.com

Risultati attesi
La tua email riceve una richiesta di registrazione di un nuovo utente.

Risultati effettivi
Ricevi un’email a jobloggs+discourse@gmail.com che dice che questo “Account esiste già”.

Note
Dopo la registrazione, la nuova email non viene utilizzata per notificare che l’account esiste sempre. Discourse non si comportava in questo modo in passato, ad esempio, prima del 6 gennaio, questo non è mai successo su questo sito. Ci sono stati almeno un paio di aggiornamenti del sito da allora e, da quando sono avvenuti, questo bug è stato introdotto.

1 Mi Piace

Questo potrebbe essere correlato all’errore HTTP/500 che otteniamo sul nostro Discourse quando utilizziamo segni + negli indirizzi email a seconda dello stato dell’impostazione normalize_emails:

2 Mi Piace

Grazie per questo, hai ragione, era l’impostazione normalize_emails che veniva modificata durante l’aggiornamento, e c’era un bug quando normalize_emails era impostato e si possedevano già account email con i segni +.

1 Mi Piace

Penso che anche questa impostazione sia la causa dell’errore fatale 500 che i nostri utenti ricevono quando tentano di cambiare il proprio indirizzo email in uno con un segno + al suo interno.

Forse non dovrebbe essere abilitata se tali account esistono già.