使用新的FROM / TO字段自动重定向电子邮件

时间:2015-07-13 15:24:30

标签: email sendmail outlook-2010 procmail

我收到分包商的电子邮件。我需要自动将这些电子邮件的内容重新发送到公司电子邮件地址的通讯组列表中。我们目前使用Outlook Exchange作为我们的主要邮件服务器,但我愿意(实际上更喜欢)使用Linux来解析/重定向。我不太关心擦除标题,只是更新FROM / SENDER和TO / RECIPIENT字段。可能还有附件需要随身携带。

我在SuperUser上看过一篇类似的帖子here,其中引用了“procmail'在其中一个答案中,但是含糊不清。

到目前为止,我最好的方法是在Linux上设置邮件客户端以获取Outlook流量,然后使用procmail解析并重新发送。有没有人见过这样的例子?有更好的主意吗?

感谢。

1 个答案:

答案 0 :(得分:1)

这不是Procmail的工作方式。 Procmail是一个自治代理,通常在您的邮件服务器上运行,并在到达时处理每个传入的邮件。

您请求的转发功能不属于Procmail的一部分,但Procmail发行版附带了一个实用程序formail,可以为您重写标题。

给定关于标准输入的消息,它可以替换" From:"和" To:"带有新值的标题如下:

formail -I"From: Important Account <corporation@example.com>" \
 -I"To: Little Peon <person@example.org>" -ICc:

(空-ICc:确保删除任何Cc:标头(如果有)。您可能还想删除旧的Received:标头。)

然后可以将输出通过管道输送到例如sendmail -oi -t将其提交回邮件流。

当然,如果您希望在电子邮件到达时自动发生这种情况,也很容易将其放入Procmail配方中。这实际上是磨机Procmail处理的运行,因此您应该能够找到大量示例,包括在Procmail手册中。但这里有它的长短;

:0c
* regex which matches the messages you want to forward
| formail -I"From: account@example.com" -I"To: person@example.org" -ICc: \
  | $SENDMAIL $SENDMAILFLAGS -t

如果您不想在收件箱中收到原件,请删除c标记。如果要无条件转发所有邮件,请删除该条件。