似乎默认情况下,mailman 会用发布消息的人的“发件人”地址来伪造其发送的消息。信封的邮件发件人不是伪造的,而是 P2 FROM。这是否可以配置为代表发送,还是简单地更改为其他静态地址?
答案1
这是一个有点老的问题,但这里有一些建议解决方案。
我将尝试解释默认邮递员的行为。
电子邮件来自[电子邮件保护]被送到[电子邮件保护](邮递员名单)。两者皆可信封发件人和[电子邮件保护] 有价值”[电子邮件保护]“。
当邮递员收到它时,它会重写信封发件人到[电子邮件保护]。现在邮递员将其转发给其他成员信封发件人:[电子邮件保护]和来自标题:[电子邮件保护]。
问题是,2014 年 4 月,大型电子邮件提供商Yahoo 在其域名中激活 DMARC。因此,如果支持 DMARC 的邮件服务器发现 Yahoo 地址来自标题但它不是从雅虎服务器发送的,服务器将拒绝它。
Mailman 开发人员在 Mailman 版本 2.1.16 中添加了修复。现在它具有选项 from_is_list
来自列表
将发件人替换为列表地址,以符合 ADSP 和 DMARC 等政策。它会将发件人地址替换为列表地址,并将发件人添加到回复:标题中,但下面的 anonymous_list 和回复:标题混合设置优先。如果将其设置为是,建议将 MTA 设置为对所有电子邮件进行 DKIM 签名。如果将其设置为包装消息,只需将消息包装在发件人:列表中的外部消息中,内容类型为:message/rfc822
答案2
有关详细信息,请参阅@masegaloeh 的回答。以下是批量应用该设置的方法:
# updatelist_from_is_list.py
import sys
class UserDesc: pass
def updatelist_from_is_list(mlist):
if mlist is None:
return
mlist.from_is_list = 1
mlist.Save()
以上为mlist.from_is_list
:
- 0 表示关闭
- 1 是“munge 来自”
- 2 为“包裹”
然后按如下方式应用脚本:
cd /usr/lib/mailman/bin/
./withlist -l -r updatelist_from_is_list LISTNAME
请注意,文件已命名,但传递给时updatelist_from_is_list.py
并不以 结尾。.py
withlist
对于大量列表:
/usr/lib/mailman/bin/list_lists -b | while read mlist; do
/usr/lib/mailman/bin/withlist -l -r updatelist_from_is_list $mlist
done