Страница 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