procmail - 使用 procmail 内联转发

标签 procmail

我想使用 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/

相关文章:

linux - 如何设置 procmail 将所有传入邮件发送到两个、三个或更多脚本并在邮箱中保留副本?

mongodb - 交易电子邮件和 Meteor

linux - procmail 处理后的电子邮件正文格式

linux - 在 procmail 进程之后/之前清理文本邮件以便打印该邮件

Procmail:移至文件夹并标记为已读

email - 如何使用 procmail 和命令行工具对非英语电子邮件进行分类?

perl - 一次处理一封邮件

exim - 使用 Procmail 将带有内嵌图像的 HTML 电子邮件保存到 PS 或 PDF

email - 您的.procmailrc中有什么

bash - 将电子邮件文本从 procmail 重定向到 bash 脚本