Я пытаюсь выполнить кастомные действия после spamassassin. У меня есть рабочая строка в постфиксе master.cf
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
Но я хочу перенаправить вывод spamc в свой сценарий, который принимает аргументы, выполняет мои действия, а затем перенаправляет вывод spamc в sendmail.
Я пытался сделать
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -e
/home/scripts/my.sh ${sender} ${recipient}
И my.sh
просто повторяя $1
и $2
но посмотри в mail.log
spamc[31244]: exec failed: Exec format error
Короче говоря, я хочу хотя бы показать аргументы отправителя получателя в эхо, а после этого попытаться перенаправить вывод spamc на sendmail в моем скрипте, но я даже не смог запустить простое эхо (
ОБНОВИТЬ
В настоящее время у меня в постфиксе есть следующая conf:
smtp inet n - - - - smtpd -v -o content_filter=filter
filter unix - n n - - pipe user=spamd argv=/home/scripts/my.sh -oi -f ${sender} ${recipient}
Сценарий Experimantal работает и теперь просто отправляет вывод спама в файл (без sendmail)
/usr/bin/spamc > /home/scripts/res
Как мне извлечь такие заголовки smtp, как Из, Чтобы и X-Spam-Flag из результата спама используя bash и перенаправить результат спама в sendmail? Хочу как-то использовать каналы, чтобы дважды не вызывать spamc. Я думаю, что grep может мне помочь, но я точно не знаю, как извлечь из - другие заголовки могут быть взяты как есть, но Из заголовок содержит дополнительную информацию + почта в <>
(пример - From: =? UTF-8? B? nameInBB64? =), но я не уверен, что почтовый адрес всегда находится внутри <>. Правильно ли мое предложение?