# Yandex 邮件错误：不允许发送不带 SSL/TLS 加密的邮件

**URL:** <https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193>\
**Category:** Support\
**Created:** [2020年九月6日 20:54 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193 "2020-09-06T20:54:14Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sam\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam_h/32/204371_2.png) [@sam\_h](https://meta.discourse.org/u/sam_h)\
**Post date:** [2020年九月6日 20:54 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193/1 "2020-09-06T20:54:15Z")

</div>

你好，我在运行 `./discourse-doctor` 时遇到错误提示：`530 5.7.7 不允许在不使用 SSL/TLS 加密的情况下发送邮件。请参阅：https://yandex.ru/support/mail/mail-clients/ssl.html`。

然而，使用相同的配置，我可以通过 `swaks` 成功发送邮件。

`swaks --to me@gmail.com --from mailbox@domain.com --server smtp.yandex.ru --auth LOGIN --auth-user mailbox@domain.com -tls -p 587`

我的 `app.yml` 设置如下：

```
DISCOURSE_SMTP_ADDRESS: "smtp.yandex.ru"
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: "mailbox@domain.com"
DISCOURSE_SMTP_PASSWORD: "password"
DISCOURSE_SMTP_ENABLE_START_TLS: true # （可选，默认为 true）

```

我已尝试了论坛中建议的所有解决方案，但问题仍未解决。也许 @Stranik 知道这是怎么回事？

非常感谢大家的建议。

---

<div class="post-metadata">

**Author:** ![sam\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam_h/32/204371_2.png) [@sam\_h](https://meta.discourse.org/u/sam_h)\
**Post date:** [2020年九月6日 22:02 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193/2 "2020-09-06T22:02:16Z")

</div>

我尝试了 MailJet，但 `./discourse-doctor` 也无法通过。不过，使用 `swaks` 的测试运行正常。

---

<div class="post-metadata">

**Author:** ![Stranik](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stranik/32/85638_2.png) [@Stranik](https://meta.discourse.org/u/Stranik)\
**Post date:** [2020年九月7日 09:31 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193/3 "2020-09-07T09:31:54Z")

</div>

可能的情况：

电子邮件域名必须已注册（已托管）：[https://pdd.yandex.ru/](https://pdd.yandex.ru/)

`notification email`（位于 `admin/site_settings/category/required`）中的电子邮件地址与 `DISCOURSE_SMTP_USER_NAME`（app.yml 中的配置）必须一致。

该用户（其电子邮件地址）已在系统中设置，并且该用户在论坛上拥有账户。该用户使用 Yandex 邮箱，且该邮箱由 Yandex 提供托管服务。

我已按此操作，看起来可以正常工作。

在 Yandex 中，您实际上需要创建一个邮件域名，验证对该域名的所有权，并配置所有必要的设置。

说实话，我并没有完全理解其工作原理，这太复杂了。）

---

<div class="post-metadata">

**Author:** ![sam\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam_h/32/204371_2.png) [@sam\_h](https://meta.discourse.org/u/sam_h)\
**Post date:** [2020年九月7日 15:48 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193/4 "2020-09-07T15:48:42Z")

</div>

> [@Stranik](#):
>
> 电子邮件域名必须已注册（已配置服务）：[https://pdd.yandex.ru/](https://pdd.yandex.ru/)
> 
> `notification email`（`admin/site_settings/category/required`）中的电子邮件地址与 `DISCOURSE_SMTP_USER_NAME`（app.yml）中的地址必须一致。

我已经注册了域名并创建了该电子邮件账户，且可以将其用于其他用途。我之前也做过类似操作，因此可以确认域名所有权验证和电子邮件创建均正常运行。

---

<div class="post-metadata">

**Author:** ![sam\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam_h/32/204371_2.png) [@sam\_h](https://meta.discourse.org/u/sam_h)\
**Post date:** [2020年九月7日 15:56 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193/5 "2020-09-07T15:56:33Z")

</div>

我昨天尝试了 `Sendgrid`，但它无法正常工作。再次使用 `swaks` 测试发送邮件则一切正常。我开始怀疑当前版本是否存在 bug。我使用的是 `iscourse 2.6.0.beta2`。我遵循了 Docker Hub 页面上的安装脚本：

```plaintext
sudo -s
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

```

我认为可能是 `beta` 版本导致了问题。如何安装最新的稳定版本？

---

<div class="post-metadata">

**Author:** ![sam\_h](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam_h/32/204371_2.png) [@sam\_h](https://meta.discourse.org/u/sam_h)\
**Post date:** [2020年九月7日 16:18 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193/6 "2020-09-07T16:18:32Z")

</div>

我点击“重新发送验证邮件”后查看了日志文件，得到以下信息：`Delivered mail a6148e37-bccc-4c05-9987-7fb867a4f369@domain.com`。我不确定这是否是问题所在，但我的邮箱地址格式如下：`test@domain.com`。

@codinghorror 能否请您帮忙查看一下？主要邮件服务（Mailjet、Sendgrid、Yandex）在此构建中均失败了。但使用以下命令时，邮件都能成功发送：`swaks --to me@gmail.com --from mailbox@domain.com --server smtp. yandex. ru --auth LOGIN --auth-user mailbox@domain.com -tls -p 587`。

---

<div class="post-metadata">

**Author:** ![Valentin\_L](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/valentin_l/32/210210_2.png) [@Valentin\_L](https://meta.discourse.org/u/Valentin_L)\
**Post date:** [2021年二月18日 22:18 UTC](https://meta.discourse.org/t/yandex-email-error-email-sending-without-ssl-tls-encryption-is-not-allowed/163193/8 "2021-02-18T22:18:13Z")

</div>

您成功解决这个问题了吗？如果成功了，是如何解决的？
