【问题标题】:Using procmail to copy emails to another address and altering "from"使用 procmail 将电子邮件复制到另一个地址并更改“发件人”
【发布时间】:2015-11-12 14:50:22
【问题描述】:

我收到由我的一台服务器上的用户生成的电子邮件警报。这些警报是由 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

【问题讨论】:

    标签: email procmail


    【解决方案1】:

    在管道到sendmail 之前,使用formail 注入您想要的标头。 (回想一下,! 基本上是 | $SENDMAIL $SENDMAILFLAGS 的简写。)

    我是否正确理解第一个配方是您要修改的配方?

    :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

    【讨论】:

    • 也不知道为什么你在第二个食谱上有B标志;您真的要检查消息正文以查找该正则表达式的匹配项吗?
    • 感谢您的帮助。是的,这是我要修改的第一个食谱。第二个,是的,我想检查正文中的特定字符串。创建这个问题时,我一定把那部分从第二个秘诀中去掉了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 2020-03-08
    相关资源
    最近更新 更多