RGJ
(Richard - Communiteq)
2
3 个赞
@RGJ 我尝试运行
openssl s_client -connect smtp.mydomain.info:25 -starttls smtp -showcerts 2>&1|grep "depth=0"
但它没有显示任何其他域,它只显示与 sidekiq 相同的错误:“无法获取本地颁发者证书”以及其他一些内容。我尝试将 app.yml 的邮件设置更改为我们的邮件中继,然后再改回来,每次都运行 ./launcher rebuild app,但到目前为止都没有奏效。
1 个赞
RGJ
(Richard - Communiteq)
4
这可能有三种原因:
- 证书过期
- 证书中的主机名与您正在连接的主机名不同
- 完全没有证书
看起来您遇到了最后一种情况。唯一的解决方法是确保您拥有配置正确的 SMTP 服务器,该服务器支持 STARTTLS 并附有正确的证书。
3 个赞
感谢 @RGJ - 但为什么这个问题只在升级到 2.9.0 版本后才开始出现?是因为 STARTTLS 对此要求的执行更加严格了吗?我们的邮件中继或 app.yml 的邮件配置没有任何变化。网站的 IP 已被邮件中继列入白名单,而邮件中继由 IT 部门维护。我无法控制它。网站的 CNAME 也由我们的 IT 部门控制。他们确实有不同的域名,CNAME 是“dnv.com”,邮件中继是“dnvgl.com”,这会是问题的一部分吗?我正在与我们的 IT 部门并行处理此事,但想尽可能多地向他们提供信息。抱歉我的无知,很多事情都超出了我的能力范围,所以我可能使用了不正确的术语。抱歉 
1 个赞
RGJ
(Richard - Communiteq)
6
3 个赞
我们的IT部门说:“证书(用于邮件中继)没有任何问题,所有证书都已激活并正确配置为与SMTP服务一起使用。其次,我没有听到任何其他使用此邮件中继的服务/客户端出现问题。” 
1 个赞
IT 创建了一个新的 office365 onmicrosoft 邮箱账户,但我仍然遇到问题。现在我收到了 ReadTimeout 或 SMTPAuthenticationError: Unrecognized authentication type 错误。
我当前的配置:
DISCOURSE_SMTP_ADDRESS: smtp.office365.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: myusername
DISCOURSE_SMTP_PASSWORD: "mypassword" # 是否需要引号?
DISCOURSE_SMTP_ENABLE_START_TLS: true # 这个设置正确吗?
DISCOURSE_SMTP_DOMAIN: outlook.com
DISCOURSE_NOTIFICATION_EMAIL: myusername@mycompany.onmicrosoft.com
其中 my* 是新邮箱账户特有的。
1 个赞
@RGJ 感谢大家的帮助。我终于、终于解决了这个问题。用于 office365 的 调整 是使用 DISCOURSE_SMTP_AUTHENTICATION: login。
office365 smtp 服务器和端口配置 是 smtp.office365.com:587,并启用了 STARTTLS,这无论如何都是默认设置。
用户名是组织中使用的 office365 的完整电子邮件地址,通常是 myaccount@mycompany.onmicrosoft.com。这可能与您的通知电子邮件相同,也可能不同。
这是我的最终配置:
DISCOURSE_SMTP_ADDRESS: smtp.office365.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: myacct@mycompany.onmicrosoft.com
DISCOURSE_SMTP_PASSWORD: mypassword
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: outlook.com
DISCOURSE_NOTIFICATION_EMAIL: myacct@mycompany.com
DISCOURSE_SMTP_AUTHENTICATION: login
根据 Mail Tester 的测试,结果是 10 分满分!
2 个赞
我们在这里也遇到了同样的问题,使用的是一个配置正确的 SMTP 服务器,该服务器被许多其他服务使用。该 SMTP 服务器采用了 Let’s Encrypt 颁发的通配符证书。
错误信息为:“(无法获取本地颁发者证书)”
pfaffman
(Jay Pfaffman)
11
尝试使用 @RGJ 推荐的命令检查域名
openssl s_client -connect smtp.mydomain.info:25 -starttls smtp -showcerts 2>&1|grep "depth=0"
确保您的域名与 openssl 返回的证书(如果有)匹配。另请查看上面链接的“邮件主机名证书不匹配导致 sidekiq…”主题。
此外,邮件故障排除指南对我帮助很大。我不得不非常仔细地阅读了几遍,才找到我需要的东西。也许您也能在那里找到一些东西?
1 个赞
system
(system)
关闭
13
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.