我试图让procmail在收到主题字符串为“Ftp Up”的邮件时启动proftpd ...
目前我有这个
:0:
* ^From:.mymail@mailserver.com
* ^Subject:.^Ftp()+Up
| /etc/init.d/proftpd start
但这不起作用......
任何指针?
答案 0 :(得分:1)
正则表达式有许多奇怪的错误。如果^Subject:^Ftp
标头格式正确,则Subject:
无法匹配,因为Ftp
在行首时永远不会匹配(好吧,除非Subject:
标头后面紧跟着一个Ftp:
标题,它不存在,所以你不太可能成为你想要的东西)并且不清楚你希望通过重复一个空组来实现你的目标。
请改为尝试:
:0 # Notice absence of second colon
* ^From.*mymail@mailserver\.com
* ^Subject:[ ]*Ftp Up$
| sudo /etc/init.d/proftpd start
方括号中的空格是空格和制表符。方括号形成一个字符类,星号重复该类零次或多次,因此匹配水平空格的任意运行。
我想你没有从电子邮件帐户启动系统服务的权限(如果你这样做,请更改它!)所以我也添加了sudo
。您需要为帐户设置适当的sudo
权限才能在没有密码的情况下运行此命令。
gratuituous锁文件是FAQ;见http://porkmail.org/era/procmail/mini-faq.html#locking