# 如何绕过激活邮件

**URL:** https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830
**Category:** Development
**Tags:** rest-api
**Created:** [2019年十二月22日 14:36 UTC](https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830 "2019-12-22T14:36:12Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![paultaylor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paultaylor/32/166024_2.png) [@paultaylor](https://meta.discourse.org/u/paultaylor)
#### Post date: [2019年十二月22日 14:36 UTC](https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830/1 "2019-12-22T14:36:12Z")

</div>

我通过 API 创建了一个用户并将 `activate` 设置为 `true`，在管理控制台查看该用户时，显示用户已激活。

但当我尝试以该用户身份登录时，系统提示：

> 您暂时无法登录。我们之前已向您发送了一封激活邮件至 `user@email.com`。请按照该邮件中的说明激活您的账户。

为什么会这样？我本想避免这种情况，是否有设置可以忽略此要求？

我希望忽略这一步，因为我只是将旧论坛的现有用户迁移到新的 Discourse 论坛，要求他们再次激活似乎是不必要的麻烦。我完全理解这对于刚刚注册的新用户来说是必要的。

此外，目前我只是在测试创建一个用户，但将来可能会创建 5000 个用户。这样做可能不正确，我可能需要重新运行迁移，因此目前我根本不希望发送任何邮件，直到准备好正式上线。是否可以禁用邮件发送功能？

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2019年十二月22日 15:17 UTC](https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830/2 "2019-12-22T15:17:56Z")

</div>

您可以尝试先停用，然后再重新激活。我之前遇到过通过 API 创建并激活用户无法生效的情况。

---

<div class="post-metadata">

### Author: ![JimPas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jimpas/32/148179_2.png) [@JimPas](https://meta.discourse.org/u/JimPas)
#### Post date: [2019年十二月22日 17:16 UTC](https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830/3 "2019-12-22T17:16:58Z")

</div>

> [@pfaffman](#):
>
> 您可以尝试先停用，然后再重新激活。

一旦用户被停用，他们必须通过电子邮件重新激活账户。因此，这仍然需要他们付出一些“努力”。

> [@paultaylor](#):
>
> 只是觉得要求他们激活似乎是一种不必要的麻烦。我完全理解为什么对于刚刚注册论坛的新用户来说这是必要的。

当来自旧论坛的用户迁移到我们当前的论坛时，整个过程都是通过邀请邮件完成的，没有人抱怨。大多数用户都填写了个人资料，只有少数人没有。最“困难”的部分是让他们完成个人资料/简介的填写。我认为，让您让用户按照已设置的步骤操作会更轻松——点击电子邮件链接，设置他们的账户……完成。只需提醒他们，他们可能需要将用户名从 Discourse 分配的默认名称（即他们电子邮件地址中@符号之前的部分）更改为其他名称。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2019年十二月22日 17:25 UTC](https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830/4 "2019-12-22T17:25:29Z")

</div>

以下是我在 2018 年 2 月完成此操作的方法：

> <https://github.com/pfaffman/discourse-user-creator/blob/master/create-user#L61-L72>

---

<div class="post-metadata">

### Author: ![paultaylor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paultaylor/32/166024_2.png) [@paultaylor](https://meta.discourse.org/u/paultaylor)
#### Post date: [2019年十二月28日 08:17 UTC](https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830/5 "2019-12-28T08:17:25Z")

</div>

谢谢，这确实奏效了。看起来，创建用户时将 activate 设为 true 意味着不会发送邮件，但同时也无法正确激活。因此，当你首次尝试登录时，系统会提示你已发送激活邮件，但实际上并没有。不过，我可能理解有误。

但先停用再启用，可以让你首次登录时无需激活，且不会发送邮件，这正是我想要的效果。

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2020年一月27日 08:17 UTC](https://meta.discourse.org/t/can-you-bypass-the-activation-email/136830/6 "2020-01-27T08:17:29Z")

</div>

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