使用 .forward 预处理收到的电子邮件?

Using .forward to preprocess incoming email?

我以前没有使用 procmail 的经验。我写了一个过滤器来修复我收到的某些电子邮件中损坏的 headers。我需要将我的 .forward 文件设置为 运行 修复过滤器而不破坏现有的电子邮件处理。

假设当前的 .forward 文件是

|IFS=' ';exec /usr/local/bin/procmail #username

我会在文件中的上方添加另一行,还是像

那样在现有行中插入过滤器
...exec filter | /usr/local/bin/procmail #username

编辑:我认为 single-line 过程不会起作用,因为 .maildir/cur 中的文件仍然是错误的。我需要修改该文件,最好是当它位于 ./cur.

只需 运行 过滤器就在 .procmailrc 的开头。 Procmail 的一个重要特性是,它比直接在您的 .forward 中执行 voodoo(无论如何都不能在 MTA 和平台之间移植;您的看起来像旧版 Sendmail,但是谁知道)。

:0fw
| filter

Procmail 通常在 运行s 之前将任何内容写入 Maildir/cur 但这也取决于具体调用 Procmail 的内容以及调用方式。