From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=AWL, BAYES_00, RCVD_NUMERIC_HELO autolearn=no version=3.2.3 X-Injected-Via-Gmane: http://gmane.org/ To: community@lists.altlinux.org From: Yurkovsky Andrey Date: Mon, 14 Apr 2008 15:34:36 +0300 Message-ID: References: <200804132139.09221.ave4600@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8Bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 213.184.245.235.server.by User-Agent: KNode/0.10.5 Sender: news Subject: Re: [Comm] KMail filter help X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Apr 2008 12:35:07 -0000 Archived-At: List-Archive: List-Post: 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 \|head -c 2` >> ELINE=`cat $1|grep -i -n \|head -c 2` >> TDATA=`cat $1|grep -A $(echo $[$ELINE-$FLINE]) \` >> 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