Die erste Diskussion darüber ist hier: Two emails for one user. Sie wurde hier fortgesetzt: Additional email address per user account support.
Ich denke, sie wurde hauptsächlich implementiert, um das Posten in Discourse per E-Mail für den Fall zu behandeln, dass Benutzer mehrere E-Mail-Konten haben, von denen sie posten.
Es gibt nichts, was Discourse dazu veranlassen würde, zu versuchen, eine E-Mail an eine sekundäre E-Mail-Adresse zu senden, wenn E-Mails, die an die primäre E-Mail-Adresse gesendet werden, zurückkommen. Ich kann sehen, wie das in einigen Fällen nützlich sein könnte.
Technisch gesehen können sekundäre E-Mails verwendet werden, um einen Benutzer zu finden, wann immer Discourse versucht, einen Benutzer anhand einer E-Mail-Adresse mit User.find_by_email zu finden.
Benutzer können sich mit ihrer sekundären E-Mail-Adresse bei Discourse anmelden.
Wenn ein externer Authentifizierungsanbieter für die Anmeldung bei Discourse verwendet wird, können Benutzer anhand ihrer sekundären E-Mail-Adresse gefunden werden, basierend auf der E-Mail-Adresse, die vom Authentifizierungsanbieter bereitgestellt wird.
Interessanterweise, wenn die Website-Einstellung auth overrides email aktiviert ist und der externe Authentifizierungsanbieter der Website die sekundäre E-Mail des Benutzers bereitstellt, wird die sekundäre E-Mail zur primären E-Mail und die ursprüngliche primäre E-Mail wird zerstört. Dieser Fall löste früher einen Anmeldefehler aus, daher scheint das Verhalten beabsichtigt zu sein. Ich habe gerade viel zu lange damit verbracht, herauszufinden, wo es passiert: discourse/app/models/user.rb at main · discourse/discourse · GitHub. (Die alte primäre E-Mail wird zerstört, wenn der Benutzer gespeichert wird.)