ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: "Михаил Шувалов" <shuvalov.mv@gmail.com>
To: ALT Linux sysadmin discuss <sysadmins@lists.altlinux.org>
Subject: Re: [Sysadmins] фильтры в procmail
Date: Fri, 10 Apr 2009 22:48:33 +0400
Message-ID: <a5a6a8800904101148qb7f8a05t7184db96525a0ab4@mail.gmail.com> (raw)
In-Reply-To: <20090409145802.GA20310@altlinux.org>

В Чтв, 09/04/2009 в 18:58 +0400, Alexey I. Froloff пишет:
> * Михаил Шувалов <shuvalov.mv@> [090409 18:30]:
> >     mailname=`mktemp -t msg.XXXXX`
> >     :0 c
> >     $mailname
> >     :0
> >     | /home/mike/testpm $mailname
> Зачем такой ужос?  repmime не работает через пайп?
>
repmime работает через pipe, но полученный файл нужно дальше
обрабатывать, для этого и приходится писать скрипт. Если я что-то
перемудриваю/недомудриваю - советы принимаются.
Нужно:
1. извлечь файл архива из полученного письма
2. проанализировать имя файла архива и создать соответствующий каталог
3. разархивировать полученный архив в созданный каталог

> > From mike@to-18-2.fss.spb.ru  Thu Apr  9 17:46:01 2009
> >  Subject: test 73
> >   Folder: /home/mike/testpm /tmp/msg.eVC2M                            33297
> > procmail: Error while writing to "/home/mike/testpm"
> testpm вернул ненулевой код возврата или отказался читать stdin.
> Кстати, есть флаг i для таких целей.
>
Я про этот флаг знаю, просто хотелось понять почему так происходит.

> > From mike@to-18-2.fss.spb.ru  Thu Apr  9 17:54:54 2009
> >  Subject: test 72
> >   Folder: /var/spool/mail/mike                                                69406
> А тут блок просто не выполнился.
>
Почему Вы так решили? Ведь и извлечение файла произошло и копия письма
ушла в мой ящик.

> > Первое сообщение (в логе с темой test 73) так и не попало в мой ящик.
> И не попадёт.  На правиле с | обработка письма заканчивается,
> надо carbon'ить в этом правиле или при открытии блока.
>
т.е. во втором правиле вложенного блока нужно было добавить флаг "с"?

> > * ^From.*shmikes@yandex.ru
> Эта строчка нахдится в заголовках письма.
>
> > * ^Content-Disposition: attachment;
> А эта - в теле.  Не хватает флагов.
>
Отправил сообщение, а потом уже сообразил что к чему :(

> Начните с чтения procmailrc(5) и procmailex(5).
>
Я всегда начинаю с прочтения манов, но не всегда сразу сообразишь как
правильно применять тот или иной параметр.

Собственно все получилось с таким правилом

$ cat .procmailrc
PATH=/bin:/usr/bin
LOGFILE=fromyandex

:0 c
* ^From.*shmikes@yandex.ru
| /home/mike/testmail

и дальше в testmail я выполняю поставленную задачу.

Если есть другие предожения - с удовольствием выслушаю.

-- 
С уважением,
Михаил Шувалов

  reply	other threads:[~2009-04-10 18:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-08  8:21 Михаил Шувалов
2009-04-08 10:39 ` Alexey I. Froloff
2009-04-08 13:05   ` Михаил Шувалов
2009-04-08 13:29     ` Alexey I. Froloff
2009-04-09 14:28       ` Михаил Шувалов
2009-04-09 14:58         ` Alexey I. Froloff
2009-04-10 18:48           ` Михаил Шувалов [this message]
2009-04-10 22:12             ` Alexey I. Froloff
2009-04-11 13:47               ` Михаил Шувалов

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a5a6a8800904101148qb7f8a05t7184db96525a0ab4@mail.gmail.com \
    --to=shuvalov.mv@gmail.com \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git