你好,
./discourse-setup bash 脚本没有在 PUPS 配置文件中填充 DISCOURSE_SMTP_DOMAIN。
我使用 rake admin:create 在容器内部执行后,发现对 GUI 产生了以下影响;
你好,
./discourse-setup bash 脚本没有在 PUPS 配置文件中填充 DISCOURSE_SMTP_DOMAIN。
我使用 rake admin:create 在容器内部执行后,发现对 GUI 产生了以下影响;
有一段时间,我确信它被主机名填充了。但在大多数情况下,这并不重要。
我们是否可以使用正则表达式从 DISCOURSE_NOTIFICATION_EMAIL 中 @ 符号后面的内容中提取电子邮件域名?
了解电子邮件域名与网站域名不同的部署情况。
类似如下:
DISCOURSE_SMTP_DOMAIN=$(echo "$DISCOURSE_NOTIFICATION_EMAIL" | sed -E 's/^[^@]+@(.+)$/\\1/')
此变量设置客户端在 SMTP 通信期间使用的 EHLO 主机名。
几乎没有人需要它,而且它设置为何值几乎从不重要。
(我遇到的情况中,没有一种情况需要它起作用)
可以说它应该默认使用 2525 端口,或者建议人们大多数虚拟机都会阻止 SMTP 端口,而大多数 SMTP 服务允许使用 2525 端口(但这说得有点多了)
Digital Ocean 阻止端口 587 的事实是一个糟糕的、不了解情况的决定,没有任何良好实践的依据。
我惊讶他们没有因为同样的原因开始默认阻止 2525 端口。
我并不反对。我敢肯定他们不是唯一这样做的,但我很难找到证据来支持这一点。奇怪的是,他们一直都这样做,但在去年四月(?),他们对所有人强制执行了这一规定。但“所有人”意味着“在下次重启后的所有人”(可能取决于其他需要重启的东西),所以可能要等上几个月你才会重启(或调整你的 Droplet 或其他操作),然后才会开始出现这种情况。
而且他们甚至不提供 SMTP 服务,所以一旦他们阻止了 2525 端口,就无法发送邮件了。我有很多用户在使用 DO,因为 CDCK 从一开始(或者至少从我开始使用时)就推荐他们了。
您是如何发现这一点的?您尝试过 emails:test rake 任务了吗?如果试过,它有用吗?您知道它存在吗?
感谢您,Michael——以下是今天安装时实际发生的情况,以及我是如何发现 587 端口是根本原因的。
当我第一次在 50:30 运行 ./discourse-doctor 时,它清楚地显示出 587 端口的出站 SMTP 失败了。在该过程的任何部分都没有成功的测试邮件。因此,在 51:38,我将 SMTP 端口更改为 2525 并重建了容器。应用程序一恢复,57:46 的第一次邮件测试就立即成功了。
在 57:58,我注意到我的 Mailgun 账户仍未激活——因此,doctor 报告 SMTP 失败不是由于凭据,而是由于端口被 DigitalOcean 阻止是正确的。
由于 Brevo 启动更快,我更换了提供商:从 58:40 开始设置,在 1:01:12 选择免费套餐,在 1:02:29 更改 DNS 记录,并在 1:04:37 更新 app.yml 中的 SMTP 设置。在 1:06:08,我指出 GUI 显示了 DISCOURSE_SMTP_DOMAIN,即使该变量没有被 ./discourse-setup 填充,这也是为什么空白字段最初让我想当然地认为某些地方配置错误了。
完成 Brevo 配置后,我在 1:42:10 重新运行了 ./discourse-doctor,并在 1:42:25 确认了成功的出站邮件——同样使用的是 2525 端口。
回答您的具体问题:
再次感谢——您关于 DISCOURSE_SMTP_DOMAIN 实际影响(仅 EHLO)的解释,帮助我弄清楚了为什么缺少该值不重要。