BCC 邮件的绝佳替代方案

GNU Mailman

在之前的文章中,我们详细介绍了使用密件抄送(BCC)功能的优缺点,
参见:“如何发送和限制密件抄送(BCC)邮件”

在结论部分,我们曾指出:

使用专用应用程序发送群发邮件。
这些专业系统配备了审批工作流
和分步控制功能,
旨在避免出现错误。

本文摘要:

工作原理

电子邮件营销平台可能难以掌握,且技术支持也颇具挑战(如果您向客户提供此类服务的话)。

我们在此介绍的是利用开源软件“GNU Mailman”发送群发邮件的方案。
这一建议源于我们提供易于使用的“copymailapp”的亲身经验。

Mailman 的“单向”列表是一种用于发布新闻简报或公告的配置
,在此配置下,只有授权的版主可以发帖,而成员无法回复该列表。

具体操作如下:

  1. 用户通过电子邮件客户端或网页邮箱将邮件发送至该邮件列表的地址:
    随后,用户需确认发送,系统将在服务器端将邮件分发给所有订阅者。

  2. 系统会自动处理退信(被退回的邮件),并可在需要时取消订阅。
    订阅必须手动注册。

  3. 该服务非常可靠,能够轻松处理数千个地址。
    邮件发送依赖于 RealSender 或其他 SMTP 服务器。

返回顶部


GNU Mailman “单向” 邮件列表

GNU Mailman 是一款广泛使用的软件,大多数互联网服务提供商都提供该服务。
互联网上有一些指南,详细介绍了如何配置和使用它进行群发邮件:

  • 会员可通过在您的网站上填写表格(并回复确认邮件)加入
  • 他们将收到一封欢迎邮件,其中不会提及如何向该邮件列表发帖
  • 他们将收到您的电子报,页脚处会提供简单的退订说明
  • 只有经授权的人员才能在该列表中发帖(发送通讯)

主要参考资料是这份文档,内容摘自 Barry Warsaw 在 mailman-users 邮件列表中的两篇帖子:
如何创建通讯/公告/单向列表?

该文本详细阐述了要点:

  • 如何创建一个自定义的欢迎信息和列表信息页面,同时避免提及如何向该列表发帖
  • 如何最大限度地减少此类邮件列表中常见的密码问题和退订问题
  • 如何限制该列表,仅允许授权人员发帖
  • 如何设置公告列表以回复某个联系地址
  • 如何在公告列表中发帖

斯坦福大学的另一篇文章介绍了如何使用 Mailman
来设置一个“仅公告”的邮件列表:
如何设置“单向”的仅公告或通讯邮件列表 - 知识库文章 KB00010792

返回顶部


关于 GNU Mailman 的简史

邮件列表可以是讨论型,也可以是公告型。Mailman 软件是用 Python 语言编写的;在它发布之前,Python 社区使用的是 Majordomo,这是一个基于 Perl 的邮件列表管理器。

目前,Mark Sapiro 负责维护 2.1 稳定分支(
), 而 Barry Warsaw 则专注于新的 3.X 版本。

对Mailman持续成功至关重要的两项核心原则:

  • 任何信息都不应丢失
  • 任何消息都不应被发送超过一次

在 Mailman 2 中,开发人员重新设计了邮件处理系统,以确保这两项原则始终被置于首要位置。该系统的这一部分至今已稳定运行了至少十年,这也是 Mailman 能像今天这样广泛应用的关键原因之一。

返回顶部


VERP 跳转管理

VERP 是“可变信封回传路径”(Variable Envelope Return Path)的缩写。 这是一种广为人知的技术,邮件列表通常利用它来明确识别退信的收件人地址。 当邮件列表收到退信时,可以采取相应的措施,例如禁用该退信地址或将其从列表成员中移除。

退信信息有统一的格式,称为“投递状态通知”。Mailman 使用了一个包含数十种退信格式规则的库,这些规则都是在 Mailman 问世的二十年间实际应用中观察到的。

VERP 利用了基础 SMTP 协议的一项要求,即通过将此类退信消息退还给信封发件人,来提供明确的退信检测。 这并非 发件人: 消息正文中的字段,但实际上该 发件人 该值是在 SMTP 对话过程中设置的。该值在投递过程中会被保留,根据标准规定,最终接收邮件服务器必须将退信发送至该地址。

如果 Mailman 服务器是 mylist@example.org,那么发送到的邮件列表帖子中,其VERP编码的信封发件人将是 anne@example.com 将是: mylist-bounce+anne=example.com@example.org. 退信将发送至经过VERP编码的收件人地址。随后,Mailman可以解析该 收件人: 通过解析该标头,将原始收件人识别为 anne@example.com

使用 VERP 要求 Mailman 向每位收件人发送且仅发送一份邮件。 VERP 要求每个收件人拥有一个唯一的 发件人 对于每位收件人,实现这一目标的唯一方法是发送消息的唯一副本。 这种方法也有助于防止消息被标记为垃圾邮件。

返回顶部


发件人和“发件人”地址对齐

在试用期间,默认“copymail 应用该配置使用我们提供的域名作为 发件人 地址(也称为退信/返回路径/信封地址),即退信邮件被退回的地址。这 发件人 该域名与 来自 发件人地址(收件人可见的发件人地址)。

在投入生产之前,必须对 DNS 进行一些修改,以便对使用 来自 域名。 最新的电子邮件标准允许您使用子域名作为 发件人 地址(例如, email.您的邮箱域名.com) 同时仍可将基础域名用作 发件人 地址(例如, info@youremaildomain.com)。更多详情请参见 电子邮件验证(高级) 页面。

在其他环境下也可能出现同样的情况。建议您向您的互联网服务提供商核实此事。

返回顶部