[Comm] Maildrop filtering
Dmitry Lebkov
=?iso-8859-1?q?dima_=CE=C1_sakhalin=2Eru?=
Чт Май 15 16:37:28 MSD 2003
On Thu, 15 May 2003 13:35:36 +0400
Прокопьев Евгений <john на rmts.donpac.ru> wrote:
> Dmitry Lebkov пишет:
>
> > А в этом случае делается - выполняется от пользователя $LOGNAME.
> >
> >
> >>Еще мне следующее непонятно в логе:
> >>
> >>to=<john на myserver.ru>, relay=local, delay=0, status=deferred
> >(temporary>failure. Command output: /usr/bin/maildrop-userdb: Unable
> >to open >mailbox. )
> >
> >
> > Права на ящик, указанный в "сс" не позволяют maildrop-userdb
> > (исполняемый от ползователя john) записать туда что-либо.
> >
> >
> >>Ну допустим, maildrop не может получить доступ к ящику
> >><john на myserver.ru>, хотя это не так (без cc все работает). Почему он
> >
> >>вообще этим занимается, сначала ведь надо обработать
> >>/etc/courier-imap/maildroprc, а уже затем пытаться положить почту в
> >><john на myserver.ru>, если не указано иное.
> >
> >
> > Вот он и обрабатывает общесистемный maildroprc. На нем и
> > обламывается с сообщением: Unable to open mailbox.
> >
>
> А как вообще тогда правильно решить задачу? Необходимо дублировать
> определенные письма, выкладывая их в общую папку и в персональную для
> alex.
Все зависит от того, как организована доставка почты вообще. В каком
формате хранится, что alex использует для получения почты - IMAP или
POP3, alex и john - это учетные записи в системе или виртуальные
почтовые ящики? После ответов на эти вопросы можно будет думать над
задачей ...
Да, в процессе доставки почты локальным учетным записям maildrop
выполняется с UID/GID пользователя, которому производится доставка.
Т.е. если alex и john - локальные учетные записи и ты хочешь скопировать
сообщение, которое идет к john, в ящик к alex - оба этих пользователя
должны иметь одну и ту же _основную_ группу (Note: в ALM, при создании
пользователя, создается и группа с таким же именем и по-умолчанию она
является основной для этого пользователя).
> Я включил пользователя john, от которого доставляется почта, в группу
> mail, и разрешил этой группе писать в /var/spool/mail/alex и все
> подпапки, но все равно:
>
> [john на myserver john]$ echo hello | maildrop-userdb alex на myserver.ru
> maildrop-userdb: Unable to open filter file, errno=2.
>
> Видимо, необходим доступ еще и к /home/alex/.mailfilter или как там
> его, но это уж слишком.
Нет, этого не нужно.
> Да и вообще манипуляции с группой mail тоже не очень хороши. Есть ли
> более изящные способы (кроме mailman - это как пушкой по мухе).
Мне видится три варианта:
- общая основная группа у всех почтовых аккаунтов, для которых
требуется описанный тобой способ филтьрации;
- отдельная Maildir-папка с соответствующими правами;
- виртуальные почтовые ящики
> Нельзя ли из /etc/courier-imap/maildroprc отдать письмо MTA или
> положить в /var/spool/mail/alex от имени alex?
В процессе фильтрации, сообщение можно отдать на STDIN внешней
программы. man maildirfilter. Но имей ввиду, что в случае доставки
того же сообщения через MTA ты получищь mail loop, т.к. информация
о получателе останется без изменения и сообщение снова попадет
под общесистемный фильтр.
Вобщем, вариантов - море. Сообщай подробности конфигурации, а там
что-нить придумаем ... ;)
--
WBR, Dmitry Lebkov
Подробная информация о списке рассылки community