2

我想使用 procmail 将消息转发到另一个电子邮件地址。传入消息的标头和正文都应该在传出消息的正文中(内联转发)。

传入消息示例:

From: outside@example.com
To: me@example.com
Subject: Test
Date: Mon, 03 Nov 2014 05:00:04 GMT

This is a test

转发的消息应该是这样的:

From: me@example.com
To: thirdparty@example.com
Subject: Fwd: Test
Date: Mon, 03 Nov 2014 05:01:00 GMT

From: outside@example.com
To: me@example.com
Subject: Test
Date: Mon, 03 Nov 2014 05:00:04 GMT

This is a test

这可以使用 procmail 来完成吗,也许与 formail 之类的东西结合使用?

4

1 回答 1

1

很容易。

:0
* Some conditions, perhaps?  Omit this line to forward unconditionally
* ^Subject:[    ]*\/.*
| (echo From: me@example.com; echo To: thirdparty@example.com; \
   echo "Subject: Fwd: $MATCH"; echo; cat -) | $SENDMAIL -t

如果您不关心逐字转发原始主题标头,则可以另外简化。

-t标志表示使用消息中的sendmail任何内容To:Cc:标头来确定收件人。我省略了生成一个Date:,因为(大多数模仿的)Sendmail 会为你做到这一点。

像往常一样,方括号中的内容应该是一个空格和一个制表符。

如果您想保留一份副本,请添加Bcc: yourself(并注意不要让传入的副本触发邮件循环!)或更改:0:0c使 Procmail 继续执行其余部分(如果配方文件)。

于 2014-11-03T07:59:04.400 回答