2017-01-21 1 views
0

Я написал сценарий для отклонения писем, если у них есть zip-вложения, содержащие exe, js files..etc и т. Д. Он работал успешно. Я написал следующий сценарий под acl_smtp_mime в WHM Exim Advanced Editor:Exim & WHM - Запуск PHP-скрипта при отклонении почты

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} } 

Я пытаюсь выполнить скрипт, который вставляет запись журнала в Databse относительно отклоненной электронной почты, но мне не удалось.

Я попытался вставить эту строку в конце, но это не удалось запустить скрипт

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

При запуске PHP из браузера только для тестирования, она прекрасно работает и создает фальшивый журнал. Кажется, я неправильно звоню сценарию из EXIM. Письма отклоняются успешно, но файл PHP не набирается

Пожалуйста, помогите. Спасибо

ответ

0

я смог запустить мой PHP скрипт, используя локон:

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

Я не думаю, что exim знает, как выполнить скрипты .php. Вы можете попробовать перенести этот скрипт php на perl. Exim на сервере cPanel/WHM по умолчанию имеет возможность запускать perl-скрипты. Вы можете прочитать Exim документацию, хотя относительно сценариев PHP ...

Смежные вопросы