# Discourse 和 MailJet 问题

**URL:** https://meta.discourse.org/t/discourse-and-mailjet-issue/239026
**Category:** Self-hosting
**Created:** [2022年九月14日 19:48 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026 "2022-09-14T19:48:51Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Francky](https://avatars.discourse-cdn.com/v4/letter/f/a8b319/32.png) [@Francky](https://meta.discourse.org/u/Francky)
#### Post date: [2022年九月14日 19:48 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026/1 "2022-09-14T19:48:51Z")

</div>

我在使用亚马逊的SES在沙盒模式下一切正常，但亚马逊拒绝了我访问生产模式的权限。  
我决定尝试使用MailJet，但我认为我遗漏了什么，而且我无法理解。

有什么想法是我做错了什么吗？  
Discourse中没有错误，它显示邮件已发送  
我可以Telnet SMTP地址和端口

在MailJet中：  
SPF/DKIM是绿色的  
论坛域名已激活  
我的zzz@gmail.com也已激活

我的app.yml：

```plaintext
  DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: xxx (来自子账户API)
  DISCOURSE_SMTP_PASSWORD: "yyy" (来自子账户API)
  #DISCOURSE_SMTP_ENABLE_START_TLS: true # (可选，默认为true)
  DISCOURSE_SMTP_DOMAIN: gmail.com
  DISCOURSE_NOTIFICATION_EMAIL: zzz@gmail.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: [2022年九月14日 22:00 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026/2 "2022-09-14T22:00:49Z")

</div>

您无法从 [Gmail.com](http://Gmail.com) 发送邮件。您必须使用已配置 Mail Hey 发送的域地址。Smtp 域应该是您的主机名，尽管它可能无关紧要（除非它确实有关）。

---

<div class="post-metadata">

### Author: ![Francky](https://avatars.discourse-cdn.com/v4/letter/f/a8b319/32.png) [@Francky](https://meta.discourse.org/u/Francky)
#### Post date: [2022年九月14日 22:08 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026/3 "2022-09-14T22:08:55Z")

</div>

我刚尝试将 SMTP\_DOMAIN 从 [gmail.com](http://gmail.com) 更改为我的 Route53 域，并且还尝试删除 TLS 加密，但都没有成功。  
应该这样设置吗？

此时不确定问题出在哪里……

像这样：

```plaintext
  DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: xxx (来自子账户 API)
  DISCOURSE_SMTP_PASSWORD: "yyy" (来自子账户 API)
  DISCOURSE_SMTP_ENABLE_START_TLS: false # (可选，默认为 true)
  DISCOURSE_SMTP_DOMAIN: mydomain.net
  DISCOURSE_NOTIFICATION_EMAIL: noreply@mydomain.net

```

---

<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: [2022年九月14日 22:13 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026/4 "2022-09-14T22:13:27Z")

</div>

> [@Francky](#):
>
> Discourse 中没有错误，它显示邮件已发送

那么 Mailjet 正在接受它。我们无法猜测它是否未发送，或者您的邮箱是否正在拒绝它（您检查过垃圾邮件了吗？）

请参阅 [在新安装的 Discourse 上排除电子邮件故障](https://meta.discourse.org/t/troubleshoot-email-on-a-new-discourse-install/16326)

---

<div class="post-metadata">

### Author: ![Francky](https://avatars.discourse-cdn.com/v4/letter/f/a8b319/32.png) [@Francky](https://meta.discourse.org/u/Francky)
#### Post date: [2022年九月14日 23:25 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026/5 "2022-09-14T23:25:58Z")

</div>

是的，我尝试过这个方法，并尝试重新设置整个 MailJet，重新生成密钥。  
尝试了不同的端口（25、465、587 TLS 或不 TLS）但都没有成功。  
使用 25 和 465 端口时，至少 Discourse 会告诉我它不起作用，使用 465 端口时，它会显示 `250 OK queued as xxxx'`

问题是，在 MailJet 中，统计数据显示在此期间没有发送一封电子邮件。

---

<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: [2022年九月14日 23:32 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026/6 "2022-09-14T23:32:31Z")

</div>

密钥没问题。问题在于发送地址（我认为）。

如果 discourse 说已送达，那么它已被 Mailjet 接受，并且应该在日志中。您尝试过 [mail-tester.com](http://mail-tester.com) 吗？

---

<div class="post-metadata">

### Author: ![Francky](https://avatars.discourse-cdn.com/v4/letter/f/a8b319/32.png) [@Francky](https://meta.discourse.org/u/Francky)
#### Post date: [2022年九月14日 23:50 UTC](https://meta.discourse.org/t/discourse-and-mailjet-issue/239026/7 "2022-09-14T23:50:50Z")

</div>

嗯，这真是一个不错的工具……  
我最初尝试时，电子邮件从未送达。  
我收到了 MailJet 的通知，说我试图从 [noreply@www.zzz.net](mailto:noreply@www.zzz.net) 发送电子邮件，这是我在尝试按照故障排除程序进行操作时进行的一个更改。

我删除了 www，基本上回到了之前的配置，但这次奏效了……我想我永远不会知道为什么。

感谢您的帮助，一切都进展得很顺利，直到 Amazon SES 拒绝了我，我不得不寻找替代方案。

这是现在可以工作的配置：

```plaintext
  DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: xxx
  DISCOURSE_SMTP_PASSWORD: "yyy"
  DISCOURSE_SMTP_ENABLE_START_TLS: false # (optional, default true)
  DISCOURSE_SMTP_DOMAIN: mydomain.net
  DISCOURSE_NOTIFICATION_EMAIL: noreply@mydomain.net

```
