是否可以在 procmail 中重定向(而不是转发)电子邮件?

是否可以在 procmail 中重定向(而不是转发)电子邮件?

我正在使用以下规则转发电子邮件.procmailrc

# in .procmailrc

* ^Subject.*something
! [email protected]

过滤和转发部分按预期工作。但是,[电子邮件保护]发件人是我的本地电子邮件地址。我想保留原始发件人,这样任何回复都会发给原始发件人,而不是我的本地地址。有什么办法吗?

答案1

这似乎对多个帐户造成了混淆。转发根本不会触及标头,并且来自符合 RFC 的客户端的任何回复都应发送给标头中指示的发件人。

更详细地说,Reply-To:标题是决定回复应该发往何处的主要因素(尽管有些电子邮件客户端会谨慎地忽略这一标准,咳嗽外表咳嗽);其次,在这种情况下,“发件人”通常是指From:Procmail 根本不会修改的标头。第三,还有标Sender:头,它在某些旧客户端中用于指示From:标头不是真正的发件人;某些客户端将其显示为“代表”。同样,当您转发消息时,Procmail 不会修改它。

最后,还有信封发件人,Return-Path:大多数投递客户端会在投递时将其复制到标题中。这一项在转发时会更改。在某些情况下,您可以将其改回,但您应该了解技术后果。

基本上,信封发件人仅用于标识将退回邮件发送到何处。因此,如果您转发邮件并更改信封发件人,并且转发如果操作失败,退回邮件将被发回给原始邮件发件人。他们无法控制您的转发安排,因此无法排除故障或修复此错误。换句话说,您基本上是在让他们收到一些反弹垃圾邮件。

话虽如此,如果你真的想,你可以。以下内容假设您有信封发件人,Return-Path:并且系统配置允许您使用覆盖信封发件人sendmail -f。这在技术上是电子邮件伪造,因此一些网站完全禁用此选项,而其他一些网站只允许一小部分特权帐户使用它。

:0
* ^Return-Path:[    ]*<?\/[^<>]+
! -f "$MATCH" [email protected]

MATCH(从技术上讲,您可以在转发配方之前将捕获拆分开并将其重构为单独的配方。...[里面的空格]由一个空格和一个制表符组成,但 Server Fault 会将其呈现为一系列空格,因此您不能直接从这里复制/粘贴它。)

相关内容