La discusión inicial sobre esto está aquí: Two emails for one user. Continuó aquí: Additional email address per user account support.
Creo que se implementó principalmente para tratar con la publicación en Discourse por correo electrónico en el caso de que los usuarios tengan varias cuentas de correo electrónico desde las que publican.
No hay nada implementado que haga que Discourse intente enviar un correo electrónico a una dirección de correo electrónico secundaria cuando los correos electrónicos enviados a la dirección de correo electrónico principal reboten. Puedo ver que eso podría ser útil en algunos casos.
Técnicamente, los correos electrónicos secundarios se pueden usar para encontrar un usuario en cualquier momento en que Discourse intente encontrar un usuario a partir de una dirección de correo electrónico con User.find_by_email.
Los usuarios pueden iniciar sesión en Discourse usando su dirección de correo electrónico secundaria.
Cuando se utiliza un proveedor de autenticación externo para iniciar sesión en Discourse, los usuarios pueden ser encontrados a partir de su dirección de correo electrónico secundaria basándose en la dirección de correo electrónico que proporciona el proveedor de autenticación.
Curiosamente, si la configuración del sitio auth overrides email está habilitada y el proveedor de autenticación externo del sitio proporciona el correo electrónico secundario del usuario, el correo electrónico secundario se convierte en el correo electrónico principal y el correo electrónico principal original se destruye. Este caso solía provocar un error de inicio de sesión, por lo que el comportamiento parece ser intencional. Pasé demasiado tiempo rastreando dónde ocurre: discourse/app/models/user.rb at main · discourse/discourse · GitHub. (El correo electrónico principal antiguo se destruye cuando se guarda el usuario).