这似乎应该很容易做到,但我遇到了一些问题。
我添加了一个 cron 作业来解析 UID 大于 500 的所有用户:
## This checks if the passwd file has been updated, and generates
## the .forward file from all users whose UID > 500, excluding nobody.
* * * * * root /usr/bin/test /etc/passwd -nt ~allusers/.forward \
&& /bin/egrep '([5-9]|[0-9]{2})[0-9]{3}' /etc/passwd | /bin/grep -v 65534 \
| /bin/cut -d ':' -f 1 > ~allusers/.forward
然后我创建了一个 .procmailrc 文件:
VERBOSE=yes
LOGFILE=/var/log/procmailrc
#Allow only certain users to send
:0
* ^From.*[email protected].*
{}
:0E
/dev/null
但是,.forward 文件显然在它到达 procmail 之前就被处理了。如果我将 .forward 文件移动到另一个文件名,我可以在 procmail 中使用它来向该文件中的用户发送电子邮件吗?
我想我们只是要使用一个程序来发送邮件——简单邮件列表。Procmail 太难了。