La discussion initiale à ce sujet se trouve ici : Two emails for one user. Elle s’est poursuivie ici : Additional email address per user account support.
Je pense qu’elle a été principalement mise en œuvre pour gérer la publication sur Discourse par e-mail dans le cas où les utilisateurs ont plusieurs adresses e-mail à partir desquelles ils publient.
Il n’y a rien en place qui amènerait Discourse à tenter d’envoyer un e-mail à une adresse e-mail secondaire lorsque les e-mails envoyés à l’adresse e-mail principale échouent. Je vois à quel point cela pourrait être utile dans certains cas.
Techniquement, les adresses e-mail secondaires peuvent être utilisées pour trouver un utilisateur chaque fois que Discourse tente de trouver un utilisateur à partir d’une adresse e-mail avec User.find_by_email.
Les utilisateurs peuvent se connecter à Discourse en utilisant leur adresse e-mail secondaire.
Lorsqu’un fournisseur d’authentification externe est utilisé pour se connecter à Discourse, les utilisateurs peuvent être trouvés à partir de leur adresse e-mail secondaire en fonction de l’adresse e-mail fournie par le fournisseur d’authentification.
Fait intéressant, si le paramètre du site auth overrides email est activé et que le fournisseur d’authentification externe du site fournit l’adresse e-mail secondaire de l’utilisateur, l’adresse e-mail secondaire devient l’adresse e-mail principale et l’adresse e-mail principale d’origine est détruite. Ce cas déclenchait auparavant une erreur de connexion, donc le comportement semble intentionnel. J’ai passé beaucoup trop de temps à suivre où cela se produit : discourse/app/models/user.rb at main · discourse/discourse · GitHub. (L’ancienne adresse e-mail principale est détruite lors de la sauvegarde de l’utilisateur.)