Discourse的管理员无法创建用户/修改用户邮箱

修改用户邮箱也需要用户邮箱确认
无法直接创建用户,我想要测试环境

修改邮箱是需要用户确认的。

但是还有一个办法修改邮箱不需要用户确认,就是使用 SSO 的 sync_sso 方法。

方法的链接在:Change Users email address using the API without sending the confirmation Email - Dev - Discourse Meta

这个页面上。

上面的方法等于是通过 Discourse 的用户同步接口调用一次用户同步,这个情况就不需要校验了。

SSO 登录调用的方案在:Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso) - Integrations - Discourse Meta 页面中。

还有个方法是,这个用户校验应该是数据库表里面的一个标志位。

还有一个办法可能就是直接修改数据库表里面的字段了。

邮件服务器

如果只是测试环境的话,要么可以配一个测试的 SMTP 邮件服务器。

用 Google 的 SMTP 应该而已可以。用 MailGun 也行,貌似是 1K 个邮件发送一个月是免费的。

Discourse 的安装是高度依赖邮件服务器,这个可能和欧美人的使用习惯有关。

我们对于测试用户基本上就注册一个测试邮箱,你可以试试 https://www.mailinator.com/ 这个服务。

原来我们公司有个 QA 工程师老用这个测试的,这个邮箱能够收到邮件,但 SMTP 服务器肯定是要配置一个的,没有的话,测试账户的邮件收不到。

1 Like

看到出来 确实是高度依赖邮局服务 discourse也没办法完全删除话题
这很让我头疼

多看discourse meta,可以完全删除的谢谢,遇事不决多搜,多搜,那么大一个搜索框在这里呢

搜delete permanently第一个就是

Enable setting to allow admins to permanently delete data - documentation / sysadmin - Discourse Meta

你都测试环境了就别按生产环境的来,rails c进入ruby控制台,直接用ruby改呗

u = User.find_by(id: xxxxx)
u.email = "你想要的email"
u.save!

完事了

确实是的。

Discourse 的搜索功能还蛮强大的,内容缓存得很好。

这个搜索快捷键 / 是我用得最多的。

有时候也不记得了,直接 / 然后搜索几个关键字。

显示快捷键的 map 按钮在这里。

完整的命令应该是这样:

cd /var/discourse
./launcher enter app
rails c
irb > u = User.find_by(id: xxxxx)
irb > u.email = "你想要的email"
irb > u.save!
irb > exit
exit

昨天正好无聊在 rails c 改配置参数:Discourse 如何使用 SSH 修改配置参数