【问题标题】:Using procmail to forward inline使用 procmail 内联转发
【发布时间】:2014-11-03 07:32:15
【问题描述】:

我想使用 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 结合使用?

【问题讨论】:

    标签: procmail


    【解决方案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
    

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

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

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

    如果您想保留一份副本,请添加Bcc: yourself(并注意不要让传入的副本触发邮件循环!)或将:0更改为:0c,如果配方文件。

    【讨论】:

    • 主题并不重要,所以我确实可以简化一下。这很好用,谢谢。
    • 如何自己添加“密件抄送:”?
    • @Michael 现在看到stackoverflow.com/questions/50634411/… 虽然在这里,只需将echo "Bcc: one@example.net, two@example.org" 放在其他echos 之间就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 2011-09-16
    • 2012-05-17
    • 2012-02-17
    相关资源
    最近更新 更多