# 500 5.5.1 无效命令：在 Discourse 新安装中无法发送邮件，但可从命令行发送（在 Digital Ocean 上）

**URL:** <https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546>\
**Category:** Self-hosting\
**Created:** [2020年四月10日 13:08 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546 "2020-04-10T13:08:13Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![b4oshany](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/b4oshany/32/176298_2.png) [@b4oshany](https://meta.discourse.org/u/b4oshany)\
**Post date:** [2020年四月10日 13:08 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/1 "2020-04-10T13:08:13Z")

</div>

在 Digital Ocean 上安装后使用 `./discourse-docker` 时出现以下错误

```
==================== 邮件测试 ====================
如需进行可靠的测试，请从 http://www.mail-tester.com/ 获取一个地址。
或者只需给自己发送一封测试邮件。
请输入用于邮件测试的电子邮件地址？（输入 'n' 以跳过）[forum@jamaicans.dev]: 
正在向 forum@jamaicans.dev 发送邮件... 
正在使用 mail.jamaicans.dev:587 测试向 forum@jamaicans.dev 发送邮件。
======================================== 错误 ========================================
                                    意外错误

500 5.5.1 无效命令

```

---

<div class="post-metadata">

**Author:** ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)\
**Post date:** [2020年四月10日 13:13 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/2 "2020-04-10T13:13:58Z")

</div>

`forum@jamaicans.dev` 是一个有效的电子邮件地址吗？  
您是否在使用自定义 SMTP？

---

<div class="post-metadata">

**Author:** ![b4oshany](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/b4oshany/32/176298_2.png) [@b4oshany](https://meta.discourse.org/u/b4oshany)\
**Post date:** [2020年四月10日 13:41 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/3 "2020-04-10T13:41:15Z")

</div>

是的，我正在使用 Mailu 运行自己的邮件服务器 → [Mailu — Mailu, Docker based mail server](https://mailu.io/1.7/%E3%80%82)

我编写了一个 Python 脚本来测试是否可以使用 SMTP 凭据发送邮件，并且能够成功发送和接收邮件。我还尝试了 Telnet，也正常工作。端口运行在 587 并启用了 StartTLS。DMARC 和 SPF 已经配置完毕。

该邮件账户的密码中包含一个 `%` 符号。我注意到在 app.yaml 中提到密码中不应包含 `#` 字符。您认为这会是问题所在吗？

---

<div class="post-metadata">

**Author:** ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)\
**Post date:** [2020年四月10日 13:48 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/4 "2020-04-10T13:48:51Z")

</div>

将密码用引号括起来，例如 `'P@$$w0RD%100'`，这样应该就能正常工作了。

---

<div class="post-metadata">

**Author:** ![b4oshany](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/b4oshany/32/176298_2.png) [@b4oshany](https://meta.discourse.org/u/b4oshany)\
**Post date:** [2020年四月10日 13:52 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/5 "2020-04-10T13:52:30Z")

</div>

它已经被封装了

---

<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:** [2020年四月10日 13:52 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/6 "2020-04-10T13:52:49Z")

</div>

为什么不改个密码试试看？

---

<div class="post-metadata">

**Author:** ![b4oshany](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/b4oshany/32/176298_2.png) [@b4oshany](https://meta.discourse.org/u/b4oshany)\
**Post date:** [2020年四月10日 13:55 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/7 "2020-04-10T13:55:34Z")

</div>

我确实等了重建完成……但以防万一它失败，我想知道是否还有其他人收到过这条消息

---

<div class="post-metadata">

**Author:** ![b4oshany](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/b4oshany/32/176298_2.png) [@b4oshany](https://meta.discourse.org/u/b4oshany)\
**Post date:** [2020年四月11日 05:37 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/8 "2020-04-11T05:37:07Z")

</div>

这行不通。我可能直接用 Mailgun 了。

---

<div class="post-metadata">

**Author:** ![NightMachinary](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nightmachinary/32/194449_2.png) [@NightMachinary](https://meta.discourse.org/u/NightMachinary)\
**Post date:** [2020年九月23日 14:52 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/9 "2020-09-23T14:52:14Z")

</div>

能分享一下你的 Python 脚本吗？我也安装了 Mailu，想测试一下。

更新：算了，我自己通过 [Sending Emails With Python – Real Python](https://realpython.com/python-send-email/) 创建了脚本。Mailu 可以运行（但没有启用 TLS，因为我还没弄清楚如何在 Mailu 和 Caddy 之间配置 Let’s Encrypt），但 Discourse 无法发送邮件……

---

<div class="post-metadata">

**Author:** ![b4oshany](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/b4oshany/32/176298_2.png) [@b4oshany](https://meta.discourse.org/u/b4oshany)\
**Post date:** [2020年九月24日 18:07 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/10 "2020-09-24T18:07:48Z")

</div>

你好，  
这对我来说也奏效了。我对邮件设置进行了一些修改，问题就解决了。抱歉之前没有说明我已经解决了这个问题。

---

<div class="post-metadata">

**Author:** ![NightMachinary](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nightmachinary/32/194449_2.png) [@NightMachinary](https://meta.discourse.org/u/NightMachinary)\
**Post date:** [2020年九月24日 19:40 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/11 "2020-09-24T19:40:59Z")

</div>

我也让它运行起来了。用 discourse-doctor 测试帮了大忙。

---

<div class="post-metadata">

**Author:** ![discoursekomrad](https://avatars.discourse-cdn.com/v4/letter/d/e36b37/32.png) [@discoursekomrad](https://meta.discourse.org/u/discoursekomrad)\
**Post date:** [2021年一月23日 22:32 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/12 "2021-01-23T22:32:04Z")

</div>

我也遇到了同样的错误。你们还记得当时是怎么解决的吗？

---

<div class="post-metadata">

**Author:** ![b4oshany](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/b4oshany/32/176298_2.png) [@b4oshany](https://meta.discourse.org/u/b4oshany)\
**Post date:** [2021年一月27日 15:47 UTC](https://meta.discourse.org/t/500-5-5-1-invalid-command-cannot-send-mail-with-discourse-on-new-install-but-can-from-command-line-on-digital-ocean/147546/13 "2021-01-27T15:47:18Z")

</div>

老实说，没有，但试着先参考 Real Python 上的真实 Python 示例让它运行起来。我想这引导我找到了解决方案。

> [@NightMachinary](#):
>
> 更新：算了，我是通过 [使用 Python 发送邮件 – Real Python](https://realpython.com/python-send-email/) 自己创建的。Mailu 可以工作（未使用 TLS，因为我还没搞懂如何同时为 Mailu 和 Caddy 配置 Let’s Encrypt），但 Discourse 无法发送邮件……
