使用 Postfix 配合 Discourse

所以我在服务器上安装了 Postfix 并搭配 Discourse 使用(我知道这并不推荐)。
我的 Postfix 运行正常,并且可以正常发送邮件。

问题在于 Discourse/Docker 无法发送邮件(甚至无法完成管理员激活)。

我了解到:

  1. 这是一个 Docker 相关的问题。
  2. 你不应该在同一台服务器上部署 Postfix。
  3. 我的邮件会很快被标记为垃圾邮件。

你们使用的是什么样的 SMTP 服务器?

Postfix 和 Discourse 完全兼容,因此建议您相应地修改主题标题;)
您可能存在配置问题。

如果配置正确,所有邮件将直接送达收件箱。

2 个赞

我尝试了书中所有的配置方法。

我的 postfix /etc/postfix/main.cf 配置如下:

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = discourse-mydomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = discourse-mydomain, mydomain.com, discourse-mydomain, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, 140.82.40.82, 172.17.0.2
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = 172.17.0.1
inet_protocols = all
home_mailbox = Maildir/
virtual_alias_maps = hash:/etc/postfix/virtual

我甚至将 inet_interfaces 修改为与我的 Docker 容器匹配。

  DISCOURSE_SMTP_ADDRESS: mail.mydomain.com
  #DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME:
  DISCOURSE_SMTP_PASSWORD:
  #DISCOURSE_SMTP_ENABLE_START_TLS: true

看不出配置哪里有问题。有什么建议吗?

欢迎来到论坛,@cmoi!很高兴你加入。:wave:

我觉得 mandrillapp.commailgun.com 都很可靠。

有人知道 Discourse 发送的邮件日志在哪里吗?

也许你可以先告诉我们你遇到的具体问题是什么,而不是只说“不工作”……

  • 你在做什么?(请详细描述)
  • 你期望的结果是什么?
  • 实际发生了什么?
  • 你看到任何错误消息了吗?
  • 还有其他值得告诉我们的信息吗?
3 个赞

我最终放弃了,转而采用了 Amazon SES。

1 个赞

你好,

我在运行 Discourse 的 Bitnami Docker 容器时遇到了类似的问题。邮件无法发送。
我收到的错误信息如下:
“发送测试邮件时出现问题。请仔细检查您的邮件设置,确认主机未阻止邮件连接,然后重试。”

以下是我的 SMTP 设置:

投递方式
地址 smtp.sengrid.net
端口 465
用户名 apikey
认证方式 login
启用 starttls_auto true

请问接下来我应该从哪些方面排查或寻求指导?

编辑:已尝试过端口 587、plain 认证方式,以及不同的 apikey 和密码。在其他应用中使用类似设置均能正常运行。

期望结果是邮件能从 Discourse 成功发送至测试账户的收件箱。

此致,
Jared

是的。请按照 Discourse 官方标准安装指南 操作,看看问题是否仍然存在。

编辑:也有可能是你的虚拟机阻止了 465 端口。你可以尝试 2525 端口(不确定 SendGrid 是否支持该端口,但他们很可能支持)。

3 个赞