无法更改导入用户的主要邮箱

您好,我正在帮助一位从我的 Drupal 论坛导入到 Discourse 的用户重置密码。我们遇到了主邮箱地址的问题,所以我为他添加了一个备用邮箱。但他表示,当他尝试请求重置密码时,系统提示“不存在此注册邮箱”。因此,我尝试将备用邮箱改为主要邮箱,并将主要邮箱改为备用邮箱。但更改被撤销了,没有生效。现在 Discourse 告诉我(作为管理员和版主)“您执行此操作的次数过多”,当我尝试更改时(使用不同的浏览器以 Discourse 安全模式登录,以排除这是问题的原因)。我在这里找到了一个在 Rails 控制台中更改它的提示,但它看起来不太对,因为它写的是 wmail 而不是 email

2 个赞

所以试试没有拼写错误的版本。 :slight_smile:

2 个赞

:slight_smile: 谢谢 Jay。它似乎不起作用:

SyntaxError: unexpected label, expecting ')'
..._id: u.id).first.update (email: "user@email.com")
...                         ^~~~~~
SyntaxError: unexpected ')', expecting end-of-input
...email: "user@email.com")
...

将此重新归类为 bug,因为 UI 应始终允许更改用户的电子邮件,并且不应对管理员进行速率限制。

清除 Redis 缓存是否有帮助,我想知道?

那里还有两个拼写错误。

我不这么认为。

我最好的猜测是,您导入的电子邮件地址是大写的,或者包含了一些隐藏字符,可能吧。我建议尝试更改为另一个电子邮件地址,而不是添加第二个。

嗯,不对,地址是正确的,我把它粘贴到我的电子邮件客户端并发送了一条消息给它。我确实尝试更改主邮箱,但它只是保留了主邮箱,并将第二个邮箱标记为未验证。

从第一个帖子来看,尚不清楚错误是什么。我将其移回 Support

请参阅:

我们需要更多信息。

您好,抱歉如果信息不够,但我真的不明白缺少了什么。正如之前提到的,我尝试了安全模式。

这是预期行为吗?

我认为管理员永远不应该受到速率限制。

这对我来说奏效了

u=User.find_by_username("XXXXXX")
UserEmail.find_by(user_id: u.id).update(email: "XXXX@XXX.com")
3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.