0

我试图让procmail在收到主题字符串为“Ftp Up”的邮件时启动proftpd ...

目前我有这个

:0:
* ^From:.mymail@mailserver.com
* ^Subject:.^Ftp()+Up
| /etc/init.d/proftpd start

但这不起作用...

任何指针?

4

1 回答 1

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的权限才能在没有密码的情况下运行此命令。

无偿锁定文件是一个FAQ;见http://porkmail.org/era/procmail/mini-faq.html#locking

于 2015-01-12T07:36:57.170 回答