我们如何通过特定主题的电子邮件在unix服务器上触发shell脚本?
答案 0 :(得分:6)
procmail允许您对传入的邮件执行操作,包括过滤和启动外部命令。
一些有用的链接:
万一链接断开,这是second point from above:
的链接问:如何在所有或选定的上运行任意Perl或shell脚本 收到的邮件?
答:安装Procmail。阅读手册页(有几页)。谢谢 你。
:0 *条件,如果有的话你的脚本,这里
最简单形式的条件是正则表达式 匹配每个传入邮件的标头。更正: 如果你更简单,你可以完全省略条件线 想要做你的行动(在这种情况下,运行一个shell脚本) 无条件。
更复杂的条件也可以是其他shell的退出代码 脚本或程序,或针对整个消息体的测试,或 反对Procmail变量(Procmail的变量也导出到 子流程的环境,因此它们本质上是环境 变量。本FAQ的后面有详细介绍。)
操作也可以是将邮件保存到文件夹(附加到 Unix邮箱文件,或写入目录中的新文件)或 将消息转发到一个或多个其他地址。最后, 动作可以是更多“食谱”的嵌套块,就像这些一样 在Procmail术语中调用条件动作映射,如果是,则尝试 外部条件得到满足。 procmailrc(5)手册页已满 舀。
显然,您不限于Perl或shell脚本。什么 你可以从Unix命令提示符运行,可以从Procmail运行 原则,虽然通常不会运行交互式程序 很有道理。
答案 1 :(得分:2)
更一般,但在我看来,它不如Wim's procmail suggestion有用:你甚至可以just point your .forward
at an executable with "|scrip.sh"。
答案 2 :(得分:0)
理论上,您可以通过编写程序来监视/轮询传入的电子邮件服务器并使用标准POP3协议检查主题行,如果主题行具有特定的触发器关键字,则调用shell脚本...这是适合的方法的顺序......可能已经有一个开源解决方案......