Страница 1 из 1

Резервная копия

Добавлено: 2008-03-26 7:15:40
shadowpvl
Hello.

Поставлена такая задача: копии писем приходящих на определенные ящики отправлять на ящик backup_in@pentagon.mil, а исходящую с определенных ящиков - на backup_out@pentagon.mil. Без проблем получилось настроить так, чтобы вся почта отправлялась на backup_in@pentagon.mil и backup_out@pentagon.mil. Код роутера для входящей почты такой:

Код: Выделить всё

mysqluser:
  driver = accept
  condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
  transport = mysql_delivery
  unseen = true

deliver_copy_in:
  driver = accept
  condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
  transport = local_copy_incoming
  no_more
Несколько дней в инете искал как сделать так, чтобы копии делались только если идут на определенные ящики. Данные о ящиках хранятся в файле в таком формате:

Код: Выделить всё

vasya@pentagon.mil
petya@pentagon.mil
room@pentagon.mil
Пробовал в роутере deliver_copy_in вместо вышеуказанного condition вставлять следующие:

Код: Выделить всё

condition = ${lookup {$local_part@$domain} lsearch{/etc/exim4/backup.conf}{no}{yes}}
или
condition = ${if eq {}{lsearch{/etc/exim4/backup.conf}}{no}{yes}}
также попробовал сделать так:

Код: Выделить всё

condition = ${if match{$local_part}{kostya}{no}{yes}}
и отправил письмо на адрес dom@pentagon.mil, но резервная копия письма все равно сделалась.
Исходящей почтой еще не занимался. Как можно решить поставленную задачу?

P.S.
# exim -bV
Exim version 4.63 #1 built 20-Jan-2007 10:42:32

Re: Резервная копия

Добавлено: 2008-03-26 9:18:41
Alex Keda
линух...
==============
к cсожалению, в роутеры можно впихнуть лишь одно условие, поэтому придётся делать два кондишена в одном.

Re: Резервная копия

Добавлено: 2008-03-26 9:36:40
shadowpvl
Для исходящей почты у меня такие настройки (также делается резервная копия для всех юзеров, но я еще не настраивал конкретно):

Код: Выделить всё

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  unseen = true

deliver_copy_out:
  driver = accept
  domains = !+local_domains
  transport = local_copy_outgoing
  no_more
Зачем нужно делать два кондишена в одном? Как я понимаю надо только просмотреть определенный файл и если получатель совпадает с одним из адресов в файле, то передать письмо на соответствующий транспорт. Как можно реализовать такой кондишен?

Re: Резервная копия

Добавлено: 2008-03-26 13:48:30
Urgor
lissyara писал(а):к cсожалению, в роутеры можно впихнуть лишь одно условие, поэтому придётся делать два кондишена в одном.
А зачем роутерами? Пусть твой пример с копированием в системном фильтре рихтанет немного....