集中管理我们所有的邮件列表
我们使用了一些邮件列表与社区讨论各种主题。出于历史原因,一些列表托管在 http://lists.askmonty.org,另一些托管在 https://lists.launchpad.net。
将我们的邮件列表归入 MariaDB 基金会 域名下是长期以来悬而未决的议题,我最终决定着手解决。这简化了邮件列表的管理,并使我们能够完全控制发送电子邮件的方式(参见下方:SPF、DKIM 和 DMARC)。
在本文中,我将介绍我们部署的新邮件列表系统,以及我们如何迁移到该新系统。
Mailman 3:合乎逻辑的选择
两个旧系统都依赖于“老旧但广泛部署”的 Mailman 2.1 版本,不过 Canonical 的人员开发了一个简化的 Web 界面。
在深入研究了新的 Mailman3 文档后,我决定选择该版本,因为它看起来已完全为生产环境做好了准备(尽管该项目已完全重写,且版本 2 中的一些功能仍在实现中)。
我必须承认,使用他们的 docker-compose 部署选项在 5 分钟内完成一个完全可用的 Mailman3 设置是非常有前景的……而且是的,我 10 年前部署 Mailman2 的经历仍然有点创伤,因为所有组件(mailman core、web 界面、归档器、索引器)集成得不太好。
最后,Mailman3 套件严重依赖优秀的 Django 项目,以及我们在 MariaDB 基金会有一位 Django 专家,这些事实让我对依赖该版本感到信心十足。
从 askmonty.org 邮件列表迁移
迁移以下邮件列表只需遵循 mailman 2.1 迁移文档并处理一些 SMTP 和 DNS 设置(这并非最简单的部分,参见下方:SPF、DKIM 和 DMARC)。
- announce@mariadb.org,一个仅用于公告的低流量列表;
- packagers@mariadb.org,一个面向 MariaDB Linux 发行版打包者的私有列表。
这些邮件列表虽然在 mariadb.org
域名下,但实际上是在 askmonty.org
域下的主机上进行技术管理(直到现在我们才重新路由这些电子邮件并重写信封,这并不理想,稍后会详细说明)。现在请使用 <list-name>@lists.mariadb.org。
对于这些邮件列表的现有成员,无需采取任何特殊行动,因为整个配置已被导入,并且用户已订阅到新的邮件列表。公共存档也已导入到新系统中(它们也可在 mail-archive 上获取,并将继续如此)。
如果成员希望通过 Web 界面更新其偏好设置,他们必须登录新的 Mailman3 实例。无法从旧的 Mailman2 版本导入账户,因为 Mailman3 有一个全新的账户管理系统。好消息是您只需要一个账户即可管理所有邮件列表订阅。
另一方面,拥有账户并非强制要求。与之前的 Mailman2 版本一样,可以通过电子邮件管理很多事情。只需向 <list-name>-request@lists.mariadb.org
发送一封主题或正文为 help
的电子邮件,您将收到可用电子邮件命令的列表。
从 launchpad.net 邮件列表迁移
由于我们无法控制 https://lists.launchpad.net 基础设施,且管理界面不允许我们获取 Mailman 配置文件(config.pck
)和存档(list-name.mbox
),我不得不向 Canonical 的人员请求这些文件。首先是在 IRC 上,然后是通过官方方式,即提交一个支持请求。经过相当长的等待时间后,他们最终提供了我们所需的文件,然后只需再次遵循官方迁移文档即可,https://docs.mailman3.org/en/latest/migration.html。
然而,我们决定将邮件列表名称重命名如下:
- maria-docs@lists.launchpad.net 更名为 docs@lists.mariadb.org;
- maria-discuss@lists.launchpad.net 更名为 discuss@lists.mariadb.org;
- maria-developers@lists.launchpad.net 更名为 developers@lists.mariadb.org。
我们在此感谢 Canonical 在过去十年中为我们托管部分列表!
SPF、DKIM 和 DMARC
发送电子邮件非常简单,但确保您的电子邮件实际送达且不会进入垃圾邮件文件夹则完全是另一回事。我在此不详细介绍我们如何实现了所有这些协议,该主题已有大量非常好的文档。
如果您查看我们通过新邮件列表系统发送的电子邮件头信息,您应该会看到我们现在正在遵守所有这些标准。
spf=pass (spool.mail.gandi.net: domain of announce-bounces@lists.mariadb.org designates 95.217.221.131 as permitted sender) smtp.mailfrom=announce-bounces@lists.mariadb.org
dkim=pass header.d=lists.mariadb.org header.s=lists.mariadb.org header.b=Tgaaguxl;
dmarc=pass (policy=none) header.from=lists.mariadb.org;
正如您所见,DMARC
策略目前仍配置为 none
,未来将会改变(quarantine
或 reject
)。这实际上是本次迁移的动机之一。
关于 DMARC
,我们还配置了所有邮件列表以考虑这一点。
哪个邮件列表用于何处?
以下是我们邮件列表及其用途的快速概述:
- announce@lists.mariadb.org:一个仅用于公告的低流量列表;
- docs@lists.mariadb.org:一个供对 MariaDB 文档和我们的知识库感兴趣的人使用的列表;
- discuss@lists.mariadb.org:一个讨论 MariaDB 项目使用问题的列表;
- developers@lists.mariadb.org:一个供希望参与 MariaDB 和 Maria 引擎开发的人使用的列表。
- packagers@lists.mariadb.org:一个面向 MariaDB 打包者的私有列表。除其他事项外,我们使用此列表提前完整披露安全漏洞。
非常欢迎您订阅这些列表并参与讨论!
结论
如前所述,对于小型参与者来说,发送电子邮件并不容易。即使我们尽最大努力遵守标准(SPF、DKIM 和 DMARC),我们仍需确保新的 Mailman3 实例 IP 地址获得良好的声誉,并确保我们的电子邮件能够送达或不会进入您的垃圾邮件文件夹。
如果您在使用新设置时遇到任何问题,请联系我们,最简单的方式是向 <list-name>-owner@lists.mariadb.org
发送电子邮件或在Zulip 上联系我们。