如何让 procmail 启动 ftp 服务器

How to have procmail start ftp server

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

目前我有这个

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

但这不起作用...

有什么指点吗?

正则表达式有一些奇怪的错误。如果 Subject: header 是 well-formed,则 ^Subject:^Ftp 不可能匹配,因为 Ftp 永远无法在行首匹配(好吧,除非 Subject: header 紧跟 Ftp: header,它不存在,所以这不太可能是你想要的)并且不清楚你希望通过重复一个空的来完成什么组̣.

试试这个:

:0   # Notice absence of second colon
* ^From.*mymail@mailserver\.com
* ^Subject:[    ]*Ftp Up$
| sudo /etc/init.d/proftpd start

方括号里的白色space是一个space和一个制表符。方括号形成一个字符 class 并且星号重复 class 零次或多次,因此这匹配任意 运行s 的水平白色 space.

我想您没有从您的电子邮件帐户启动系统服务的权限(如果有,请更改它!)所以我也添加了一个 sudo。您需要为您的帐户设置适当的 sudo 权限才能 运行 此命令无需密码。

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