Привет!
У меня на хостинге в cPanel, в разделе Global Email Filters, настроено несколько фильтров, блокирующих разный спам. Изредка бывает, что под какой-то из них попадает нужное письмо, поэтому возжелал складывать нежелательные письма в файл вместо уничтожения.
Меняю действие Discard на Pipe to a Program, вставляю командную строку:
tee -a ${HOME}/mail/rejected >/dev/null
В разделе Filter Test ввожу подходящие реквизиты, в выдаче вижу:
Pipe message to: tee -a \${HOME}/mail/rejected >/dev/null
о файл rejected в каталоге mail не создается.
е знаю, что там означает обратный слэш перед "$" - возможно, экранирование каких-то внутренних макросов. В описании упоминается только "скрипт" (а не командная строка), и что путь должен быть относительно домашнего каталога. Поменял строку на имя скрипта (reject.sh), в сам файл записал:
#!/bin/sh
tee -a ${HOME}/mailfilters/rejected >/dev/null
Поставил разрешения 700, как требуется. е работает.
Здесь есть пример с заданием именно командной строки:
https://ventraip.com.au/support-centre/how-to-pipe-an-email-to-a-script/
Получается, что можно и так, как у меня было в первом варианте.
Поскольку хостинг у меня shared, доступа к логу exim у меня нет, деталей посмотреть не могу.
Всего доброго!
Евгений Музыченко
fi-do@muzy-chen-ko.net (все дефисы убрать)
--- GoldED+/W32-MSVC 1.1.5-b20180707
* Origin: Fox Tracks, France (2:5000/14)