Exim & WHM - 运行 PHP 邮件拒绝脚本

Exim & WHM - Run PHP Script on mail rejection

我写了一个脚本来拒绝电子邮件,如果他们有包含 exe、js 文件等的 zip 附件。它运行成功。我在 WHM Exim Advanced Editor 的 acl_smtp_mime 下编写了以下脚本:

deny message = "This message might contain harmful files."
condition = ${if match{$mime_filename}{\N(?i)\.zip$\N}}
decode = default
condition = ${if match{${run{/usr/bin/unzip -l $mime_decoded_filename}}} {\N(?i)\.(com|js|pif|scr|lnk|exe)\n\N} }

我正在尝试执行一个 PHP 脚本,该脚本在数据库中插入一个关于被拒绝电子邮件的日志条目,但我失败了。

我尝试在末尾插入这一行,但它未能 运行 脚本

continue = ${run{/usr/bin/php '/home/*hidden*/public_html/test.php $mime_decoded_filename'}{0}{1}}

当我 运行 来自浏览器的 PHP 只是为了测试时,它 运行 没问题并创建了一个假日志。看来我没有从 EXIM 正确调用脚本。电子邮件被成功拒绝,但 PHP 文件未被调用

请帮忙。谢谢

我认为 exim 不知道如何执行 .php 脚本。您可以尝试将该 php 脚本移植到 perl。默认情况下,cPanel/WHM 服务器上的 Exim 具有 运行 perl 脚本的能力。你可能想阅读关于 php 脚本的 exim 文档...

我能够使用 curl 运行 我的 php 脚本:

continue = ${run{/usr/bin/curl http://www.*****.com/test.php?fn=$mime_filename&sa=$sender_address&rf=$recipients}}