Я написал скрипт для отклонения электронных писем, если у них есть zip-вложения, содержащие exe, js файлы … и т. Д. И т. Д. Он работал успешно. Я написал следующий скрипт под acl_smtp_mime в WHM Exim Advanced Editor:
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. Exim на сервере cPanel / WHM по умолчанию имеет возможность запускать сценарии perl. Вы могли бы хотеть прочитать документацию exim хотя относительно сценариев php …
Я смог запустить свой PHP-скрипт с помощью curl:
continue = ${run{/usr/bin/curl http://www.*****.com/test.php?fn=$mime_filename&sa=$sender_address&rf=$recipients}}