首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Procmail删除体

Procmail删除体
EN

Unix & Linux用户
提问于 2018-12-18 17:25:26
回答 1查看 134关注 0票数 1

我有一个procmail食谱,它将邮件的正文发送给一个脚本。运行良好,但先将邮件发送到我的默认文件夹,而不需要正文。

代码语言:javascript
复制
:0
* ^Subject.*Telemetry rotate$
{
:0 bf
! `/usr/bin/php -f /path/to/script/script.php`
}

如何让procmail将正文发送到我的脚本而不删除它,或者将副本发送到文件夹,然后删除原始文件。

EN

回答 1

Unix & Linux用户

发布于 2018-12-18 19:29:56

你这里有一些错误。f标志要求将消息替换为来自过滤器的输出(尽管b将此操作限制在主体上)。牙套在这里也是多余的。所以我会和

代码语言:javascript
复制
:0b
* ^Subject.*Telemetry rotate$
! `php -f /path/to/script/script.php`

如果计划确实是(1)将主体传递给PHP,(2)捕获脚本的输出(这是`backticks`所做的),(3)将消息转发到捕获的地址(这就是!操作所做的)。

如果你的意图仅仅是把身体传递给你的剧本,那就是

代码语言:javascript
复制
:0b
* ^Subject.*Telemetry rotate$
| php -f /path/to/script/script.php

如果您希望在此之后继续处理消息,也可以使用c标志。

您会注意到,我取出了硬编码路径/usr/bin;对路径进行硬编码使脚本的可移植性降低,并且为了调试目的,不可能(或者至少非常麻烦)用包装器替换php。我建议您确保在生产中正确设置PATH

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/489729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档