有什么方法可以限制邮递员邮件列表仅允许来自一个特定域的订阅?
我知道如何禁止特定电子邮件地址或域名订阅,但有没有办法禁止除 example.com 之外的所有域名?或者可能是几个特定域名?
我们开始受到一些列表订阅尝试的攻击,我确信这些尝试来自僵尸网络1上的垃圾邮件发送者,这让列表所有者很恼火。一些列表的 subscribe_policy 配置为“需要批准”或“确认并批准”,因为这些列表仅供我们本地用户使用,并且最好通过自动拒绝来自外部电子邮件地址的订阅来最大限度地减少列表所有者的烦恼,因为无论如何列表所有者都不允许这些电子邮件地址订阅。
我们不能简单地限制对本地网络的访问,因为我们的列表面向全球受众,并且我们的一些“本地”用户可能在任何地方。
1一个电子邮件地址在几个小时内订阅了来自不同 IP 的几十个不相关的列表;第二天又用新的电子邮件地址和不同的 IP 订阅了一轮。在少数情况下,列表所有者通过电子邮件向他们询问他们为什么要注册列表,但没有收到回复。
答案1
Mailman 使用 Python 的正则表达式引擎,它足够灵活,可以匹配除特定域之外的所有内容。
在列表的 ban_list 中放入类似这样的内容:^(?!.*example\.edu)
或者:^(?!.*(example\.edu|example\.com))
如果列表受到限制并且收到垃圾邮件订阅,您可能希望不在邮件中宣传该列表(使链接在其他地方可用)。将邮件列表订阅策略设置为“确认并批准”而不是“批准”,以便垃圾邮件发送者必须在列表所有者感到恼火之前处理一封电子邮件,这也有帮助。
答案2
其他答案不会阻止像“[电子邮件保护]“。这将:(^(?!.*[@.]example\.com)
假设 example.com 的所有子域名都没问题)。要应用,请运行:
config_list -i <(echo 'ban_list = [ "^(?!.*[@.]example\.com)$", ]' ) listname
答案3
一些正则表达式 foo 应该可以解决问题。伯克利 MailMan 页面上的示例 -https://calmail.berkeley.edu/docs/mailman/regexp.html#settings
答案4
查看GNU Mailman 维基如何将会员资格限制在单个域中 - 只有来自该域的电子邮件才能够订阅:
转到邮件列表管理隐私选项,例如在 redhat.com 中:
https://listman.redhat.com/mailman/admin/your-mail-list/privacy/subscribing
在禁令列表中输入:
^.*@(?!redhat\.com$)