david
(David Taylor)
1
此公告仅影响运行 Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver 的自托管用户。托管服务客户以及使用 POP3 接收邮件的自托管用户不受影响。
如您所知,Let’s Encrypt 最近 更改了其根证书。旧根证书已于今日过期,导致网络上许多过时的客户端出现问题。我们 CDCK 的所有系统均已更新,未受今日过期的影响。遗憾的是,我们遗漏了公共邮件接收器 Docker 镜像,该镜像已数月未更新。
这意味着 现有的自托管邮件接收器安装将无法向由 Let’s Encrypt 保护的网站发送邮件。
我们刚刚向 DockerHub 推送了包含新根证书的更新版本。如果您遵循了官方安装说明,可以通过运行以下命令更新您的安装:
docker pull discourse/mail-receiver:release
cd /var/discourse
./launcher rebuild mail-receiver
受损安装接收到的邮件将暂时在发送服务器上排队。这些服务器应定期尝试重新投递邮件,因此任何遗漏的邮件在您更新镜像后不久应会送达。
如果在执行上述步骤后仍遇到问题,请确保您正在运行 release 版本的邮件接收器。相关信息可在此主题 this topic 中找到。
对此造成的不便深表歉意!非常感谢 @wlandgraf 最初报告此问题并协助我们测试修复方案 
28 个赞
bartv
(Bart )
2
感谢您的修复!我的更新因以下错误消息而卡住。我未对此模板进行任何更改,因此不确定该如何处理?
root@ba /var/discourse # ./launcher rebuild mail-receiver
确保启动器为最新状态
获取 origin
正在更新启动器...
正在更新 46d899f..990519e
错误:您的本地更改将因合并而被覆盖:
templates/web.letsencrypt.ssl.template.yml
请在合并前提交您的更改或将其暂存。
中止
更新失败
1 个赞
david
(David Taylor)
3
如果你执行以下命令会发生什么:
cd /var/discourse
git diff
它会显示 web.letsencrypt.ssl.template.yml 文件中的任何差异吗?
如果是,你可以使用 git reset --hard 重置这些差异。
3 个赞
bartv
(Bart )
4
啊,我确实做了一个修改:innocent: 我现在成功升级了,谢谢!
2 个赞
pfaffman
(Jay Pfaffman)
5
您可以按如下方式测试是否正在运行旧的 mail-receiver。
docker exec mail-receiver bash -c "cat /etc/issue|grep Alpine"
如果是 Alpine,则是旧版本。
docker exec mail-receiver bash -c "cat /etc/issue|grep 'Debian GNU/Linux 11'"
如果是 Debian,则是新版本。
7 个赞
@david,能否请您查看以下问题?邮件接收器的最新更新移除了实施额外反垃圾邮件措施的能力,而该功能在上一版本中效果极佳。由于最近的更改,我的论坛正面临日益严重的垃圾邮件压力。
我试图找出根本问题,但我对 Postfix 的了解不足以解决这个问题。我发现了类似的问题报告(即使 DNS 中存在 PTR 记录,client=unknown 仍然出现),这与 Postfix 在 chroot 隔离环境中的运行有关,因此这可能与该问题有关。此外,新的邮件接收器 Debian 镜像中似乎缺少 dnsutils 工具,但即使安装它们也无法解决问题?
这个问题应该可以很容易地修复:
4 个赞
@david 感谢您的修复!我刚运行了它,可以看到它正在工作。
有没有办法查看自 10 月 1 日以来哪些电子邮件未能送达?
我尝试了以下方法,但只看到 5 个请求(最早的请求是在 11 月 26 日收到的):
/var/discourse/launcher enter mail-receiver
mailq
我还尝试查看日志,但只收到了这里报告的警告:
3 个赞
david
(David Taylor)
8
我认为任何尚未进入队列的东西都应该被退回给发件人。恐怕我不确定该容器是否有比您找到的更早的日志。
4 个赞
在第 657 行之后简单地添加 pull_image 是否可以解决在重建之前显式拉取镜像的需要?即:
# 如果正在引导的镜像不是基础 Discourse 镜像
if [[ ! X"" = X"$base_image" ]]; then
image=$base_image
# 尝试使镜像保持最新
pull_image
fi
这将导致在引导/重建具有在其 yml 文件中设置了 base_image 的容器时,始终发生 docker pull $image。我不认为这对 mail-receiver 有什么坏处,即使它碰巧已经是最新的了,但我也不确定是否存在其他可能出现问题的情况。
2 个赞
david
(David Taylor)
10
是的,无条件的 pull 在这里可能是有意义的。目前它只适用于我们的主基础镜像,这有点奇怪。你怎么看 @Falco?
2 个赞
我认为您可以通过查询 incoming_emails PostgreSQL 表来查看它。
2 个赞
不幸的是,在相关时间段(2021 年 10 月至 2022 年 2 月)内没有显示任何内容。
邮件接收器容器本身会有任何日志吗?
1 个赞