我正在运行配置了Virtualmin / Webmin和虚拟主机的CentOS 7服务器。我想将发送到此系统上托管的一个特定电子邮件地址(属于一个虚拟主机)的所有电子邮件发送到PHP脚本进行处理。从研究来看,我认为procmail是最简单的方法。我假设我需要在用户的主目录中创建一个.procmailrc文件。
但是,此.procmailrc文件未执行。我找到了启用本地.procmailrc文件的说明:
去Virutalmin - >电子邮件 - >垃圾邮件和病毒扫描并启用“允许邮箱用户创建邮件过滤器”
然而,我无法让它发挥作用。每次我尝试保存更改时,都会收到此错误:
LibClamAV Warning: **************************************************
LibClamAV Warning: *** The virus database is older than 7 days! ***
LibClamAV Warning: *** Please update it as soon as possible. ***
LibClamAV Warning: **************************************************
ERROR: Can't write to temporary directory
我不知道它正在尝试写什么目录,其次,如果我尝试更新clamav(“yum update clamav”),我会收到一条消息:“没有标记为更新的软件包”。
更新:重新启动服务器后,我可以保存设置。但是,仍然没有出现本地.procmailrc文件正在执行。
这是.procmailrc文件:
DEFAULT=$HOME/Maildir/
MAILDIR=$HOME/Maildir
PMDIR=$HOME/.procmail
LOGFILE=$PMDIR/log.`date +%y-%m-%d`
SHELL=/bin/sh
:0
| /usr/bin/php /home/user/homes/support/mailhandler.php
mailhandler.php文件由'user'拥有,拥有744权限。它只是将STDIN数据转储到同一目录中的日志文件中,具有666权限。
第一个问题:使用procmail最简单的方法是实现这个目的吗?如果没有,那是什么?
第二个问题:如何让本地.procmailrc脚本工作?
谢谢!