[Comm] KMail filter help
Yurkovsky Andrey
=?iso-8859-1?q?anyr_=CE=C1_tut=2Eby?=
Пн Апр 14 16:34:36 MSD 2008
Alexander Yereschenko wrote:
> Доброе!
> В сообщении от Sunday 13 April 2008 20:15:03 Yurkovsky Andrey написал(а):
>> Мне хотелось бы сохранять отчеты о расходах от провайдера приходящие на
>> e-mail в файл. Для этих целей я собирался сделать скрипт затем фильтр в
>> почтовике "Пропустить через конвейер". Пока у меня на выходе получается
>> только пустой файл. Содержимое скрипта такое:
>>
>> #!/bin/bash
>> LOCATION="/mnt/main/lib/finance/internet"
>> FLINE=`cat $1|grep -i -n \<html\>|head -c 2`
>> ELINE=`cat $1|grep -i -n \</html\>|head -c 2`
>> TDATA=`cat $1|grep -A $(echo $[$ELINE-$FLINE]) \<html\>`
>> echo $TDATA|iconv -f koi8-r -t cp1251 >\
>> $LOCATION/server-`date '+%d-%m-%y'`.html
>>
>> Если скрипту подсунуть сохраненное письмо, то все получается как надо, а
>> через фильтр - нет. Что я делаю не так, подскажите.
>
> Какова ваша строка запуска скрипта, которая прописана в KMail ? Ибо есть
> ряд ньюансов (см. ниже). И кстати, вероятно для ваших нужд больше подойдет
> не "пропустить через конвеер" , а "выполнить команду", ибо исходное
> письмо, как я понимаю, изменять не надо.
Пробовал и так и сяк. В качестве команды писал: просто адрес/скрипт, затем
то же и %1, затем то же, но с %0. Пробовал менять в самом скрипте %1 на %0
результат один и тот же - создается файл с нужным именем, но в нем пусто.
>
> Из справки KMail:
> ======
> Выполнить команду
>
> Выполняется некоторая программа, но сообщение не изменяется. Указывайте
> полный путь к программе, которую нужно выполнить. KMail не будет
> откликаться до завершения программы. Передавать программе части письма
> можно через командную строку: %0, %1 и т.д. заменяются файлами,
> содержащими части сообщения. В большинстве сообщений %0 представляет
> собственно текст сообщения, %1 – первое вложение и т.д. Кроме того,
> сообщение целиком передаётся на стандартный ввод (stdin) программы. Каждый
> аргумент вида %{foo} заменяется заголовком foo.
>
> Внимание
> На данный момент это работает только тогда, когда сообщение содержит по
> меньшей мере одно вложение. Если же нет, обычно не будет работать даже %0.
Т.е. если в письме нет вложений то необходимо писать %0, или в любом случае
при отсутствии вложений скрипт не будет работать?
> Подсказка
> Вы можете вводить сколь угодно сложные команды, т.к. KMail использует
> оболочку для выполнения команд. Поэтому в KMail будет работать даже такая
> команда: uudecode -o $(mktemp kmail-uudecoded.XXXXXX) && echo $'\a'
> --
> Alexander
> _______________________________________________
> community mailing list
> community на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community
--
Yurkovsky Andrey
Подробная информация о списке рассылки community