你好,
我在配置 Discourse 以使用我的 SMTP 服务器时遇到了问题(我使用的是 Migadu 作为邮件服务器)。
以下是我使用的配置详情:
DISCOURSE_SMTP_ADDRESS: "smtp.migadu.com"
DISCOURSE_SMTP_USER_NAME: "community@kloclabs.com"
DISCOURSE_SMTP_PASSWORD: "<password>"
DISCOURSE_SMTP_ENABLE_START_TLS: true
这些是我在邮件客户端中使用的设置,运行正常,但在 Discourse 中似乎出现了问题。
当我运行 ./discourse-doctor 时,出现以下错误:
500 Unrecognized command
所有配置看起来都是正确的,我可以成功通过 telnet 连接到 SMTP 服务器,没有问题。
希望有人能帮忙解决。
您正在使用哪个主机?
您是否尝试过定义端口?(587 或 2525,具体取决于您的服务提供商支持哪个端口)
我自己在 OVH 专用服务器上托管。
尝试将端口定义为 587,并在配置中添加了以下内容:
DISCOURSE_SMTP_AUTHENTICATION: login
但仍未成功。我已通过终端验证自己为管理员,现在收到不同的错误:
550 From 头部与登录用户不匹配
pfaffman
(Jay Pfaffman)
4
这不可能。你应该以与运行 ./discourse-setup 完全相同的方式运行 ./discourse-doctor。你运行 ./discourse-setup 是为了配置 SMTP 设置,还是手动编辑了 app.yml?在做出更改后,你是否重新构建(或执行 ./launcher destroy app; ./launcher start app)?
我正在手动编辑 app.yml,因为我使用了反向代理。看起来我需要修改邮件中的 from 头。
好的,看起来现在已经解决了。使用 Migadu 时,邮件中必须包含匹配的 From 头部以及身份验证。在上方添加身份验证脚本,并进入管理员设置将所有系统邮件的发件人地址进行配置,似乎已经解决了该问题。
如果其他人也遇到此问题,请执行以下操作:
- 进入您的 Discourse 文件夹:
cd /var/discourse
- 在
containers/app.yml 中添加身份验证方法:DISCOURSE_SMTP_AUTHENTICATION: login
- 在终端中手动创建管理员账户,因为您无法接收验证邮件。为此,您需要执行以下步骤:先运行
./launcher enter app,然后运行 rake admin:create,接着按照终端中显示的步骤操作
- 最后进入管理员设置,将
notification email 更改为您尝试进行身份验证的邮箱地址
如果能在 app.yml 文件中直接设置发件人地址会更简单,但我未能找到实现这一功能的方法。
Or I just can’t read!.. Wow, thank you!