mail-receiver的变量放在哪里?

我已经为我的自托管网站设置了 2 个容器,nginx 设置在容器外部。
现在创建了第 3 个容器用于此邮件设置。
但是,您能告诉我从哪里可以将上述网站变量复制到新的 mail.yml 中吗?

1 个赞

您需要第三个容器,如下所述:

2 个赞

容器已创建(只需要一个命令)。但是,如上/初始帖子中所述,我需要在我的 mail.yml 中填写 2-3 个值/变量。我不确定从哪里复制相应的值?

我想你是在问如何找到应该为这些变量设置的值。这在文件本身变量周围的注释中已经解释得很清楚了,除了 API 密钥之外,你可能只需要将 discourse.example.com 替换为你自己的论坛域名。

如果你觉得阅读方便,这里是 GitHub 上的示例文件:discourse_docker/samples/mail-receiver.yml at main · discourse/discourse_docker · GitHub

API 密钥注释会引导你到论坛管理界面的 API 部分,但它没有说明应该创建哪种类型的密钥。假设你没有重命名你的系统用户,创建密钥时应该如下所示:(输入你自己的描述)

然后在下面找到并勾选 receive emails

保存后,你将获得 DISCOURSE_API_KEY 所需的 API 密钥。

6 个赞

我的 app.yml:

  ## 您的论坛应该发送电子邮件的地址。通常情况下,在这里使用与论坛本身相同的域名是完全可以的。
  MAIL_DOMAIN: bathindahelper.com

# 取消注释这些(以及下面的 volume!)以支持 TLS
#  POSTCONF_smtpd_tls_key_file:  /letsencrypt/discourse.example.com/discourse.example.com.key
#  POSTCONF_smtpd_tls_cert_file:  /letsencrypt/discourse.example.com/fullchain.cer
#  POSTCONF_smtpd_tls_security_level: may


  ## 您的 Discourse 论坛的邮件处理端点的 URL。
  ## 这只是您的论坛的基本 URL,后面附加了 `/admin/email/handle_mail`。
  ## 如果您正在运行子文件夹设置,请小心——在这种情况下,URL 需要包含子文件夹!
  DISCOURSE_MAIL_ENDPOINT: 'https://bathindahelper.com/admin/email/handle_mail'

  ## 您的 Discourse 论坛的主 API 密钥。您可以在管理面板的“API”选项卡中找到它。
  DISCOURSE_API_KEY: abcdefghijklmnop

我更改了 2 个值:“邮件域名”(疑问:我的域名名称是否需要加上某个前缀,例如“mail”或仅“m”)?以及“邮件端点”(疑问:仅包含我的实际域名名称,并将子文件夹路径保留为样本文件中的“handle_mail”,这样是否可以?)
我担心这里还需要做更多的事情。

然后,我找不到并复制了我自己站点的 API 密钥(如果我点击“所有 API 密钥”,只能找到这个 API 密钥)。提供截图:


最后,我对在这里设置我的 DNS 设置 MX 记录表示怀疑:

我是否可以为“DNS 名称”和“值”设置 2 个不同的值?
例如:

DNS 名称:bathindahelper.com
值:mail.bathindahelper.com

这是您希望您的网站位于 www.bathindahelper.com 的原因之一。
您似乎已经在通过 bathindahelper.com 接收邮件,因此您需要执行一些复杂的操作。
设置
您需要将 mail_receiver.yml 中的 MAIL_DOMAIN 配置为 mail.bathindahelper.com。是的,您可以为 A 记录和 MX 记录设置不同的值。您已经为 bathindahelper.com 设置了两个 MX 记录,除非您不再想使用该邮箱,否则不应更改它们。
mail.bathindahelper.com 添加一个 DNS A 记录,值为 5.161.135.164。
并为 mail.bathindahelper.com 添加一个 MX 记录,指向 mail.bathindahelper.com,优先级为 10。
生成一个新的 API 密钥并将其粘贴到文件中。
./launcher rebuild mail_receiver.
我想这样应该就可以了,虽然现在是深夜,我还在用手机打字。

2 个赞