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

[exim] Копирование почты на сторонний ящик

Добавлено: 2012-04-04 21:53:21
msamoylov
Появилась необходимость копировать почту на сторонний ящик. Клиент хочет бэкапить почту на стороннем сервере и его не убедить, что это бред.

Сценарий:
* Приходит письмо на мой SMTP
* Мы находим юзера
* Видим, что в записи юзера прописан ящик для копирования
* Отправляем туда копию полученного письма
* Кладем письмо в локальный ящик юзеру

Как это реализовать в нижеследующем конфиге? Заранее огромное спасибо

Конфиг по ссылке

Re: [exim] Копирование почты на сторонний ящик

Добавлено: 2012-04-05 20:45:34
mumg
usercopy:
driver = redirect
allow_fail
allow_defer
condition = ${lookup pgsql {select recipients from \
usercopy where local_part= '$local_part'}{yes}{no}}
data = ${lookup pgsql{SELECT recipients FROM usercopy \
WHERE local_part='${local_part}'}}
unseen

как то так наверное

Re: [exim] Копирование почты на сторонний ящик

Добавлено: 2012-04-06 15:58:52
msamoylov

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

usercopy:
  driver = redirect
  allow_fail
  allow_defer
  condition = ${lookup pgsql {select external from \
            accounts where login = '$local_part'}{yes}{no}}
  data = ${lookup pgsql {select external from \
            accounts where login = '$local_part'}
  unseen

userforward:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup pgsql{SELECT recipients FROM userforward \
         WHERE local_part='${local_part}'}}
localuser:
  driver = accept
  condition = ${lookup pgsql {select uid from \
            accounts where login = '$local_part'}{yes}{no}}
  transport = local_delivery
  cannot_route_message = Unknown user
Вызывает "temporarily rejected RCPT <mailbox@domain.ru>: Temporary internal error". ЧЯДНТ? :)

Re: [exim] Копирование почты на сторонний ящик

Добавлено: 2012-04-06 16:14:23
Гость
Вот работающее решение. Огромное спасибо за подсказку!

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

exim=> \d accounts
                                   Table "public.accounts"
  Column   |          Type          |                       Modifiers                        
-----------+------------------------+--------------------------------------------------------
 uid       | integer                | not null default nextval('accounts_uid_seq'::regclass)
 login     | character varying(128) | 
 password  | character varying(128) | 
 maildir   | character varying(255) | 
 home      | character varying(255) | 
 mailquota | integer                | default 20
 name      | text                   | 
 external  | character varying(100) | 
Indexes:
    "uid_k" PRIMARY KEY, btree (uid)
    "login_k" UNIQUE CONSTRAINT, btree (login)

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

usercopy:
  driver = redirect
  allow_fail
  allow_defer
  condition = ${lookup pgsql {SELECT external FROM accounts WHERE login = '$local_part' AND external IS NOT NULL}{yes}{no}}
  data = ${lookup pgsql {SELECT external FROM accounts WHERE login = '$local_part' AND external IS NOT NULL}}
  unseen