# Discourse + DigitalOcean + Mailjet 设置

**URL:** https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773
**Category:** Self-hosting
**Tags:** email
**Created:** [2023年十二月6日 18:09 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773 "2023-12-06T18:09:23Z")
**Posts on this page:** 16
**Page:** 2

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [2023年十二月12日 18:53 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/22 "2023-12-12T18:53:52Z")

</div>

**这不是一个错误。** Discourse 需要其所需的一切，如果缺少必要的资源，就无法安装。

这里最有可能需要的“重新校准”是，我们必须适应一个更昂贵的新现实，才能推出 Discourse 安装。

如果您想省钱，您需要从命令行进行一些相当技术性的操作，以设置您的环境，从而允许 Discourse 以较低价格的 Droplet 选项成功安装。

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2023年十二月12日 19:11 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/23 "2023-12-12T19:11:28Z")

</div>

我认为已经实施了一项更改来解决此问题：

> [@Upgrade from 3.2.0.beta3-dev to 3.2.0.beta3 failed due to out of memory](https://meta.discourse.org/t/upgrade-from-3-2-0-beta3-dev-to-3-2-0-beta3-failed-due-to-out-of-memory/286643/17?u=jammydodger):
>
> Definitely, which is why we are gathering info here. It appears that tweaking our NODE\_OPTIONS environment variable is all that is needed, so I’d guess that either a dependency of the app or a V8 change made our previous value there not work anymore. @david how this looks?

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [2023年十二月12日 19:17 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/24 "2023-12-12T19:17:42Z")

</div>

我按照您的建议，成功地在 $6 的 Droplet 上安装了 Discourse。

但是，我现在的主要问题是似乎无法正确连接 Mailjet，因此无法完成设置过程中的“确认您的电子邮件”部分。

是否有办法绕过此步骤，直到我成功配置 Mailjet？或者我需要先解决 Mailjet 的问题？

（我的问题是我不知道 Mailjet 为什么会失败。我已经添加了 SPF/DKIM 等，但仍然不行。显然，有些地方不正确，但我没有任何关于可能是什么原因的指示。）

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2023年十二月12日 19:27 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/25 "2023-12-12T19:27:19Z")

</div>

发件地址是否与在 Mailjet 配置的地址匹配？它不会发送其他地址的电子邮件，这是一个非常常见的错误。

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [2023年十二月12日 19:29 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/26 "2023-12-12T19:29:48Z")

</div>

我没有为 Mailjet 使用发件人地址。相反，我使用的是 **发件人域** （这使得可以使用不存在的实体，如 [noreply@mydomain.com](mailto:noreply@mydomain.com)）。

我无法使用发件人地址，因为从技术上讲，此域上不存在电子邮件（因为我无法在 DigitalOcean 上合理地做到这一点）。

如果我_确实_要使用发件人地址，它将与域不匹配，因此无法用于来自 Discourse（或 WordPress）的事务性电子邮件。

\*\*附加问题：\*\*我是否需要将我的子域 [forum.mydomain.com](http://forum.mydomain.com) 添加为发件人域（与我的根域分开）？

---

<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: [2023年十二月12日 19:43 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/27 "2023-12-12T19:43:21Z")

</div>

发件人指的是 Discourse 用于发送的地址。“通知电子邮件地址”。

请参阅 [疑难解答新 Discourse 安装中的电子邮件](https://meta.discourse.org/t/troubleshoot-email-on-a-new-discourse-install/16326)

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [2023年十二月12日 19:50 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/28 "2023-12-12T19:50:52Z")

</div>

我无法理解这条评论。（但我正在努力，请耐心等待！）

我通过连接到我的 SMTP 服务器完成了第 3 步，所以这意味着一切_可能_都已正确配置……

但我对这一点不清楚：

**我需要发件人地址吗？** 它将与我的域名不同，所以我看不到这与我的事务性电子邮件问题有什么关系。我已经将 Discourse 配置为使用 [noreply@mydomain.com](mailto:noreply@mydomain.com)（或者可能是 [noreply@forum.mydomain.com](mailto:noreply@forum.mydomain.com)，我需要检查一下），所以这_应该_由发件人域名覆盖，至少据我所知是这样。

（当我提到发件人地址或发件人域名时，我指的是 Mailjet 后端中定义的这些值，而不是 Discourse。）

---

<div class="post-metadata">

### Author: ![packman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/packman/32/289322_2.png) [@packman](https://meta.discourse.org/u/packman)
#### Post date: [2023年十二月12日 20:21 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/29 "2023-12-12T20:21:30Z")

</div>

我已经定义了域名 **和** 特定的发件人地址。我设置这个已经好几个月了，但我似乎记得只定义发件人域有问题。一旦我能够确认特定的发件人地址，它就运行得很顺利。

---

<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: [2023年十二月12日 21:12 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/30 "2023-12-12T21:12:59Z")

</div>

> [@pearsonified](#):
>
> 我需要一个发件人地址吗？

如果您发送电子邮件，那么“发件人:”行中会有一个地址。您需要确保 Discourse 放置在那里的地址是您的邮件服务器能够发送邮件的地址。

---

<div class="post-metadata">

### Author: ![anon36555649](https://avatars.discourse-cdn.com/v4/letter/a/e9a140/32.png) [@anon36555649](https://meta.discourse.org/u/anon36555649)
#### Post date: [2023年十二月13日 01:28 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/31 "2023-12-13T01:28:24Z")

</div>

> [@pearsonified](#):
>
> \*\*附加问题：\*\*我是否需要将我的子域名 — [forum.mydomain.com](http://forum.mydomain.com) — 添加为发件人域名（与我的根域名分开）？

这可能取决于邮件服务，我不知道 mailjet 的情况。

您可以在域名注册商处为邮件服务设置一个子域名，例如 [mail.domain.com](http://mail.domain.com)。

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2023年十二月13日 02:43 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/32 "2023-12-13T02:43:00Z")

</div>

> [@pearsonified](#):
>
> \*\*附加问题：\*\*我是否需要将我的子域名 — [forum.mydomain.com](http://forum.mydomain.com) — 添加为发件人域名（与我的根域名分开）？

这取决于您是想以根域名还是子域名的别名发送电子邮件。

这与论坛所在的 DNS 地址无关。发件人地址字段中的域名必须与在 mailjet 配置的域名匹配。

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [2023年十二月13日 16:00 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/33 "2023-12-13T16:00:55Z")

</div>

但是，如果我无法定义新的电子邮件地址（例如 [x@mydomain.com](mailto:x@mydomain.com)），那么我该如何完成此操作？

我可以使用非域名电子邮件地址，但 Discourse 只会从基于域名的地址发送事务性电子邮件（如果我的理解正确的话）。

**为清楚起见：** 我确实已将基于域名的电子邮件地址指定为发件人（在 Discourse 中，特别是在 `app.yml` 文件或其他文件中），但 [1] 我没有将其添加为 Mailjet 中的发件人地址，因为我的理解是发件人地址适用于不共享相同域名的任何地址，并且 [2] 我无法创建基于域名的电子邮件地址，因为我没有运行邮件服务器（据我所知，Mailjet 的全部意义在于避免设置和运行自己的邮件服务器，这对于可送达性来说将极其不可靠）。

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2023年十二月13日 16:09 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/34 "2023-12-13T16:09:14Z")

</div>

我已将最新帖子移至此主题，因为它们似乎更多地与您的电子邮件设置问题有关，而不是基本最低要求。 👍

---

<div class="post-metadata">

### Author: ![anon36555649](https://avatars.discourse-cdn.com/v4/letter/a/e9a140/32.png) [@anon36555649](https://meta.discourse.org/u/anon36555649)
#### Post date: [2023年十二月14日 08:22 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/36 "2023-12-14T08:22:47Z")

</div>

> [@pearsonified](#):
>
> **为表清晰：** 我确实已指定一个基于域名的电子邮件地址作为发件人（在 Discourse 中，具体来说是在 `app.yml` 文件或其他文件中），但我 [1] 未将其添加为 Mailjet 中的发件人地址，因为我的理解是发件人地址适用于任何不共享相同域的地址，并且 [2] 我无法创建基于域名的电子邮件地址，因为我没有运行邮件服务器（据我所知，Mailjet 的全部意义在于避免设置和运行自己的邮件服务器，这对于送达率来说将非常不可靠）。

我无法理解你目前的主要问题是什么，但我不认为发件人地址适用于任何不共享相同域的地址的说法是准确的。我已经配置了与 Discourse 站点托管的域名相同的发件人地址，该域名也可以处理入站邮件，但这使用的是不同的平台，而不是 Mailjet。

回到你给 Jay 的问题：如果你无法定义一个新地址，你将如何完成“这个”，即：“你需要确保 Discourse 列出的发件人地址是你的邮件服务器将用于发送邮件的地址”

因此，答案似乎是： **你不能** 。

---

<div class="post-metadata">

### Author: ![pearsonified](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pearsonified/32/128397_2.png) [@pearsonified](https://meta.discourse.org/u/pearsonified)
#### Post date: [2023年十二月14日 15:35 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/37 "2023-12-14T15:35:14Z")

</div>

事实证明，我所有的信息都是正确的，但是管理员电子邮件地址——它来自另一个域，并且我无法控制——直到数小时后才收到邮件。

（当我将我的电子邮件地址添加到管理员电子邮件地址列表时，我立即收到了验证电子邮件。）

我需要做的唯一一件事才能让 Discourse 发送事务性电子邮件，就是添加第二个发件人域——子域——及其相应的 DNS 记录。

---

<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: [2023年十二月14日 17:47 UTC](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773/38 "2023-12-14T17:47:21Z")

</div>



[上一頁](https://meta.discourse.org/t/discourse-digitalocean-mailjet-setup/287773.md?page=1)
