# POP3 轮询 SSL 问题

**URL:** https://meta.discourse.org/t/pop3-polling-ssl-issue/128265
**Category:** Bug
**Created:** [2019年九月11日 11:51 UTC](https://meta.discourse.org/t/pop3-polling-ssl-issue/128265 "2019-09-11T11:51:17Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [2019年九月11日 11:51 UTC](https://meta.discourse.org/t/pop3-polling-ssl-issue/128265/1 "2019-09-11T11:51:18Z")

</div>

在生产环境的 Discourse 日志中进行常规检查时，我注意到 Poll Mailbox 任务因以下错误而失败：

> 任务异常：SSL\_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)

一些相关说明：

- 该实例是在 Digital Ocean 上部署的标准 Discourse 安装，使用了 LetsEncrypt 证书。服务器上未部署其他服务。
- POP3 邮件导入功能在此实例上已稳定运行数月，未出现任何问题。
- Gmail 端未显示任何异常（例如可疑登录等）。

这里有一个相关话题提到了相同的错误，但似乎该话题讨论的是实际使用了自签名证书的安装：[https://meta.discourse.org/t/reply-by-email-ssl-self-signed-certificate-error/30868。](https://meta.discourse.org/t/reply-by-email-ssl-self-signed-certificate-error/30868%E3%80%82)

相关的站点设置如下：

```plaintext
pop3 polling enabled: true
pop3 polling ssl: true
pop3 polling openssl verify: true
pop3 polling period mins: 5
pop3 polling host: pop.gmail.com
pop3 polling port: 995
pop3 polling username: // 一个 Gmail 用户名
pop3 polling password: // 一个 Gmail 密码
pop3 polling delete from server: true

```

我最初尝试切换 pop3 polling enabled 设置，但没有任何效果（也未返回错误）。我还重新构建了容器。最后，我将 pop3 polling openssl verify 改为 `false`，Poll Mailbox 任务随即恢复正常运行。

目前我尚不确定具体原因，但先在此报告该问题。

另外，如果 Poll Mailbox 任务失败，最好在管理员界面中记录日志，因为这种“静默”失败以及邮件导入失败可能会引发一些问题。

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [2019年九月11日 13:36 UTC](https://meta.discourse.org/t/pop3-polling-ssl-issue/128265/2 "2019-09-11T13:36:06Z")

</div>

我在其中一个网站上看到了同样的问题。我正在查看…

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [2019年九月11日 17:06 UTC](https://meta.discourse.org/t/pop3-polling-ssl-issue/128265/3 "2019-09-11T17:06:40Z")

</div>

这是由 TLS 1.3 与 Ruby 之间的不兼容性引起的。我已[提交了一个临时解决方案](https://github.com/discourse/discourse/commit/56c6e8e961ab59336953bb564debcad7288d4fc0)，并将尝试在源头修复此问题。

我同意，我们应在管理仪表板中显示所有 POP3 错误，而不仅仅是超时和认证错误。我也会修复这一点。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2020年一月10日 06:06 UTC](https://meta.discourse.org/t/pop3-polling-ssl-issue/128265/5 "2020-01-10T06:06:57Z")

</div>


