使用 procmail 将电子邮件复制到另一个地址并更改 "from"

Using procmail to copy emails to another address and altering "from"

我收到了我的一台服务器上的用户生成的电子邮件警报。这些警报由 server@######.com 生成,它们与第三方软件无法正常工作有关。

我正在尝试使用 procmail 将这些电子邮件复制(因为我想继续接收这些)到 ABC@XYZ.com。

我正在寻找正文中包含 "C:" 后跟 6 个字符、一个点和另外 3 个字符的电子邮件。所有这些都工作正常,但我希望第三方从我这里获取这些电子邮件 bruno@XXXXXX.com 而不是服务器。

如何将电子邮件复制给第三方并将发件人地址更改为 bruno@XXXXX.com?

这是 procmail 文件:

cat .procmailrc
DROPPRIVS=yes
LOGFILE=$HOME/procmail.log

:0 c:
* B ?? C:......\....
! ABC@XYZ.com

:0 B:
* ^To: .*alerts@XXXXXX.com
! bruno@XXXXXX.com

在管道到 sendmail 之前,用 formail 注入你想要的 headers。 (回想一下 ! 基本上是 | $SENDMAIL $SENDMAILFLAGS 的 shorthand。)

我的理解是否正确,第一个食谱就是您要修改的那个?

:0 c  # No lockfile when forwarding
* B ?? C:......\....
| formail -I 'From: bruno@XXXXXX.com' \
  | $SENDMAIL $SENDMAILFLAGS ABC@XYZ.com

你的第二个食谱同样不应该有一个锁定文件;见 http://www.iki.fi/era/procmail/mini-faq.html#locking