Additional email address per user account support

Howdy Jon!

You are certainly in the right place. Is this for dotnetfoundation? Can you email team@discourse.org, we will get it sorted for you!

6 个赞

Yes, fantastic. I have set this up and it is working just fine for me. Thank you!

Looking forward to see the web UI for this at some point :rocket:

7 个赞

Very happy this has been integrated and excited to try it out…

很抱歉回复这个旧帖子,但我没有找到其他相关的内容。

我将用户的新账户与其旧账户合并,因为旧账户的电子邮件地址已不再有效。
他们现在的次要电子邮件地址是有效的,但我需要将其更改为主要地址,以便他们能够接收电子邮件、重置密码等。

我尝试删除次要电子邮件地址,并在 rails c 中使用 create 命令重新添加该有效地址作为主要地址。我觉得我可能漏掉了一个步骤——在 rails c 中操作完成后,是否需要保存?
在执行完删除/创建命令后,我只是输入 exit,再次输入 exit,然后使用 launcher 重启应用。

我漏掉了什么?

1 个赞

我觉得我们这里缺少一些用户体验方面的设计,我们计划在下一个版本中进行改进。

你需要使用控制台来修复这个问题。我不太确定你需要运行哪些命令,也许 @LeoMcA 可以帮忙。

6 个赞

我执行了以下操作:

./launcher enter app
rails c
UserEmail.where(user_id: 7, primary: false).destroy_all
UserEmail.create!(user: User.find_by_username("user7"), email: "newemail@example.com")
exit
exit
./launcher restart app

我不确定这是否是导致问题的原因,但这次我只运行了删除那一行。重启应用并刷新网站后,次要邮箱确实消失了!于是我在网页界面上完成了其余操作,将主邮箱改为次要邮箱,因为它不再被阻止。

等等,我收回刚才的说法。通过网页更改邮箱会向有效的邮箱地址发送确认邮件,但一旦返回用户偏好设置页面或用户管理页面,无效的邮箱地址仍然保留。
现在我不确定该怎么办了 :frowning:

编辑:

冒着刷屏这个帖子的风险,我想我已经找到解决办法了。

进入 rails c 后:
我删除了所有邮箱——我只是不知道如何将邮箱设置为主邮箱,这就是为什么每次重新添加有效邮箱时,它都会被添加为次要邮箱。

# 删除所有次要邮箱
UserEmail.where(user_id: 1234, primary: false).destroy_all
# 删除主邮箱
UserEmail.where(user_id: 1234, primary: true).destroy_all

# 设置主邮箱
UserEmail.create!(user_id: 1234, email: "validemail@example.com", primary: true)

不言而喻,这会跳过验证,但既然您之前已经通过合并账户手动验证过,希望其他人也能参考这个示例。重启应用后,唯一剩下的步骤就是发送密码重置邮件。

5 个赞

你好,Leon!这个流程确实不适合胆小的人,看起来你走对了方向。确实,这里有一些用户体验(UX)功能会很有用,可以用来管理用户的主要和次要电子邮件地址。这个链接或许能帮到你——它也曾帮过我!

5 个赞

这在最近的一两个版本中已完全实现。

2 个赞