我想使用 procmail 将邮件转发到另一个电子邮件地址。传入消息的 header 和正文都应位于传出消息的正文中(内联转发)。
传入消息示例:
From: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d5baa0a1a6bcb1b095b0adb4b8a5b9b0fbb6bab8" rel="noreferrer noopener nofollow">[email protected]</a>
To: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7b161e3b1e031a160b171e55181416" rel="noreferrer noopener nofollow">[email protected]</a>
Subject: Test
Date: Mon, 03 Nov 2014 05:00:04 GMT
This is a test
转发的消息应该是这样的:
From: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="563b3316332e373b263a337835393b" rel="noreferrer noopener nofollow">[email protected]</a>
To: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0c7864657e687c6d7e78754c69746d617c6069226f6361" rel="noreferrer noopener nofollow">[email protected]</a>
Subject: Fwd: Test
Date: Mon, 03 Nov 2014 05:01:00 GMT
From: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4d2238393e2429280d28352c203d2128632e2220" rel="noreferrer noopener nofollow">[email protected]</a>
To: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dfb2ba9fbaa7beb2afb3baf1bcb0b2" rel="noreferrer noopener nofollow">[email protected]</a>
Subject: Test
Date: Mon, 03 Nov 2014 05:00:04 GMT
This is a test
这可以使用 procmail 来完成吗?也许与 formail 之类的东西结合使用?
最佳答案
很简单。
:0
* Some conditions, perhaps? Omit this line to forward unconditionally
* ^Subject:[ ]*\/.*
| (echo From: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ed8088ad88958c809d8188c38e8280" rel="noreferrer noopener nofollow">[email protected]</a>; echo To: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="681c00011a0c18091a1c11280d10090518040d460b0705" rel="noreferrer noopener nofollow">[email protected]</a>; \
echo "Subject: Fwd: $MATCH"; echo; cat -) | $SENDMAIL -t
如果您不关心逐字转发原始主题 header ,则可以进一步简化。
sendmail
的 -t
标志表示使用 To:
和 Cc:
header 中的任何内容消息来确定接收者。我省略了生成日期:
,因为(大多数仿制品)Sendmail 会为您执行此操作。
像往常一样,方括号中的内容应该是一个空格和一个制表符。
如果您想保留副本,请添加密件抄送:自己
(并注意不要让传入副本触发邮件循环!)或更改:0
到 :0c
这使得 Procmail 继续处理配方文件的其余部分。
关于procmail - 使用 procmail 内联转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26709669/