我正在尝试使用Procmail过滤进入WHMCS中我的票务频道的邮件。只要管道通畅,它就能正常工作。但是,来自Zopim现场聊天模块的电子邮件在进入WHMCS脚本之前需要进行过滤和编辑。
他们进来时的电子邮件是这样的:
To: email@domain.com
From: Zopim <noreply@zopim.com>
Subject: Offline Message from Visitor xxxx: xxx
From: Visitor xxxxxx <you@you.com>
URL: http://www.domain.com
xxxxxxx
----
Zopim
http://www.zopim.com以下是我的procmail文件设置:
:0H
* ^From: Zopim.*noreply@zopim.com
| sed -e 's/^From: Zopim.*/From: me@me\.com/' | /usr/bin/php -q /var/www/pipe/pipe.php现在,它运行得很好,它正在查找From字段并将其替换为me@me.com。问题是,我想从电子邮件中得到以下内容:
From: Visitor xxxxxx <you@you.com>并将其放在From所在的标题中,因此本质上它将来自访问者,而不是zopim。这就是我的问题所在,我不知道如何使用sed或其他程序将该行设置为变量并在上面进行替换,或者仅仅使用sed移动行。
发布于 2013-07-19 16:48:17
在procmail示例中,有一个工具可以这样做:它是formail。见电子邮件手册页。我从来不使用它,但它看起来真的很强大。它只会在邮件的标题中更改,而不会在正文中更改。
https://serverfault.com/questions/524766
复制相似问题