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

时间:2017-01-21 20:52:12

标签: php execute whm exim

如果他们有包含exe,js files..etc等的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文件没有被调用

请帮忙。谢谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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