初始激活电子邮件未发送。这个YAML有什么问题?

我遵循了此处列出的标准安装流程,并且能够毫无问题地安装 Discourse。问题是,初始激活电子邮件未收到,因此我无法登录和配置实例。
下面是我的 .yaml 文件。
我的问题是,它可能有什么问题?

params:
  db_default_text_search_config: "pg_catalog.english"

  ## 将 db_shared_buffers 设置为总内存的最多 25%。
  ## 将由 bootstrap 根据检测到的 RAM 自动设置,或者您可以覆盖它
  db_shared_buffers: "256MB"

  ## 可以提高排序性能,但会增加每个连接的内存使用量
  #db_work_mem: "40MB"

  ## 此容器应使用哪个 Git 版本? (默认值:tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 支持多少并发 Web 请求?取决于内存和 CPU 核心。
  ## 将由 bootstrap 根据检测到的 CPU 自动设置,或者您可以覆盖它
  UNICORN_WORKERS: 4

  ## TODO:此 Discourse 实例将响应的域名
  ## 必需。Discourse 不能使用纯 IP 地址。
  DISCOURSE_HOSTNAME: talk.mydomain.com

  ## 如果您希望容器使用与上面指定的相同的主机名(-h 选项)启动,请取消注释
  ## (默认值为“$hostname-$config”)
  #DOCKER_USE_HOSTNAME: true

  ## TODO:将成为初始注册管理员和开发人员的电子邮件列表(逗号分隔)
  ## 示例“user1@example.com,user2@example.com”
  DISCOURSE_DEVELOPER_EMAILS: 'noreply@talk.mydomain.com'

  ## TODO:用于验证新帐户和发送通知的 SMTP 邮件服务器
  # 需要 SMTP 地址、用户名和密码
  # 注意:SMTP 密码中的字符 '#' 可能会导致问题!
  DISCOURSE_SMTP_ADDRESS: mysmtp.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: info@talk.mydomain.com
  DISCOURSE_SMTP_PASSWORD: "mypassword"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (可选,默认值为 true)
  DISCOURSE_SMTP_DOMAIN: mydomain.com
  DISCOURSE_NOTIFICATION_EMAIL: info@talk.mydomain.com

  ## 如果您添加了 Lets Encrypt 模板,请取消注释下方以获取免费 SSL 证书
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## 此 Discourse 实例的 HTTP 或 HTTPS CDN 地址(配置为拉取)
  ## 有关详细信息,请参阅 https://meta.discourse.org/t/14857
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## 用于 IP 地址查找的 MaxMind 地理位置 IP 帐户 ID 和许可证密钥
  ## 有关详细信息,请参阅 https://meta.discourse.org/t/-/173941
  #DISCOURSE_MAXMIND_ACCOUNT_ID: 123456
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Docker 容器是无状态的;所有数据都存储在 /shared 中
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## 插件在此处
## 有关详细信息,请参阅 https://meta.discourse.org/t/19157
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## 构建后要运行的任何自定义命令
run:
  - exec: echo "开始执行自定义命令"
  ## 如果您想设置首次注册的“发件人”电子邮件地址,请取消注释并进行更改:
  ## 收到首次注册电子邮件后,请重新注释该行。它只需要运行一次。
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "结束执行自定义命令"

嘿,您能否为您的文件内容使用预格式化按钮?这将提高可读性。 :+1:
image


如果您尝试转到 /admin/email 然后发送测试电子邮件,会发生什么?

2 个赞

非常感谢,我错误地点击了发布而没有重新格式化。
至于您提出的问题:
我甚至无法进行初始登录来使用电子邮件激活实例进行测试。有没有办法在没有激活电子邮件的情况下访问管理员界面?
安装已成功完成。
我进入浏览器,看到“恭喜……”消息。
我输入在设置过程中用作管理员电子邮件的电子邮件地址来尝试激活,但我从未收到电子邮件。
卡在这里,因为我看不到 .yaml 文件有什么问题。

您好,您是否尝试在 SSH 控制台中运行 ./discourse-doctor?它会询问您是否要发送测试电子邮件,这可能会给您一些线索。

是的,我做了,但那也从未到来。可能必须销毁实例并重新开始。

如果在容器 shell 中运行以下命令,会打印出什么内容:

rake 'emails:test[youremailaddress@yourdomain.com]'

为了加载新内核而重启系统将不会自动进行,因此您应该考虑重启。

无需重启任何服务。
无需重启任何容器。
没有用户会话正在运行过时的二进制文件。
此主机上没有虚拟机来宾正在运行过时的虚拟机监控程序 (qemu) 二进制文件。

root@talk:/var/discourse# rake ‘emails:test[info@talk.mydomain.com]’

rake aborted!

找不到 Rakefile (正在查找:rakefile, Rakefile, rakefile.rb, Rakefile.rb)

请参阅疑难解答新 Discourse 安装中的电子邮件

1 个赞

在运行 rake 命令之前,您需要
./launcher enter app

清除您的安装并重新开始可能会导致其他问题。

请参阅故障排除指南。

1 个赞

感谢大家。我删除了我的 Digital Ocean 一键安装,并遵循了标准安装,现在一切正常。
提醒大家。
根据我打开支持请求时收到的 DO 电子邮件,如果未加入“付费支持”计划,他们的支持仅限于 DO 基础设施。

1 个赞