我在安装红帽。我遇到的是:
因此,我需要知道的是一个procmail食谱,它把它传送到邮箱,然后启动脚本来处理交付的电子邮件。
谢谢罗伯
发布于 2013-08-26 17:01:28
正如我在上面的评论中指出的那样,这似乎是一种不太好的方法。但是,你应该能够使用这样的东西:
:0c:
* Whatever condition
/path/to/mbox
:0ahi
| /path/to/perl/script或等量
:0
* whatever condition
{
:0c:
/path/to/mbox
:0ahi
| /path/to/perl/script
}第一个菜谱将导致消息被传递到mbox文件,但是由于使用了c标志,在该菜谱之后将继续处理。下面的菜谱上的a标志指定,只有当前面的配方被成功地使用并完成时,它才会被使用。
该配方上的h标志指定只应将头发送到perl脚本。这可能不会影响它,因为您说它是从mbox文件而不是从管道获得消息;但是它确实减少了需要通过管道发送的数据量。
i标志指定,procmail如果不能向脚本发送所有内容,就不应该抱怨。由于脚本可能没有从其标准输入中读取,所以管道缓冲区可能会填满,从而导致procmail接收写错误;尽管这在只发送消息头时是不太可能发生的。
如果您确实需要使用Mail::Box模块系列来处理消息,而不是从标准输入中解析消息,那么我建议您至少使用Maildir邮箱而不是mbox。对于mbox格式没有真正的规范,对于它应该如何工作有许多不同的解释。差异往往是微妙的,所以在收到一条消息之前,事情似乎很好,而消息恰好触发了不同实现之间的不兼容性(例如,有一条以From开头的行)。这甚至没有涉及到锁定mbox文件的问题。
发布于 2013-08-26 18:06:44
所以我想出了一个简单但可能不是最好的答案。由于我可以控制电子邮件什么时候进来,所以我决定删除这个过程的锁,它运行得很好。
因此,没有第二个冒号和"c“选项,它现在运行脚本,可以在邮箱中看到电子邮件。
Whew...what在一个简单的解决方案上浪费了pain...two的时间。
https://stackoverflow.com/questions/18447924
复制相似问题