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

Exim: копирование писем через SMTP-сессию на другой сервер

Добавлено: 2009-06-14 11:19:32
GByte
Доброго времени суток!

Дано:
1. Exim - frontend-сервер для M$ Exchange
2. сервер M$ Exchange
3. сервер MIMESweeper - архивирует письма.

Exim режет спам, обрабатывает всю почту и передает ее на M$ Exchange.

Необходимо:
организовать копирование всех писем передаваемых между M$ Exchange и Exim на третий сервер - MIMESweeper. (прихоть безопасников)

в документации и на формумах описывается как архивировать письма в локальный файл или папку, но не как передавать их по SMTP.
начал копать в сторону pipe, но как передать в Экзим-фильтре скрипту список всех адресатов письма немогу понять и в документации сего нет..

Помогите разобраться как можно делать "копии" корреспонденции на другой сервер по SMTP?

Re: Exim: копирование писем через SMTP-сессию на другой сервер

Добавлено: 2009-06-14 19:29:27
Alex Keda
посмотрите в сторону опции unseen для роутеров

Re: Exim: копирование писем через SMTP-сессию на другой сервер

Добавлено: 2009-06-15 6:00:57
GByte
да, unseen видел.

вопрос теперь в том как реализовать?

Необходимо то чтобы при получении письма для vasya@mydomain.ru письмо копировалось на сервер "MIMEsweeper" в ящик "vasya@mimesweeper.mydomain.ru"...

Пока на ум приходило только фильтр с pipe в скрипт который бы открывал smtp-сессию на MIMEsweeper, но в таком случае в фильтре необходимо знать всех адресатов письма чтобы суметь точно повторить письмо... а этого как раз найти не могу..

Re: Exim: копирование писем через SMTP-сессию на другой сервер

Добавлено: 2009-06-15 6:08:26
Alex Keda
просто роутер, с конкретным адресом - куда доставлять
локальная часть есть в переменной.
======
невижу сложностей

Re: Exim: копирование писем через SMTP-сессию на другой сервер

Добавлено: 2009-06-15 10:59:08
Гость
Спасибо! помогло! :)

Сделал так:

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

copy_msg_to:
  debug_print = "R: copy_msg_to for $local_part@$domain"
  driver = manualroute
  route_list = * mimeswiper.
  no_verify
  no_expn
  unseen
  transport = remote_smtp

Re: Exim: копирование писем через SMTP-сессию на другой сервер

Добавлено: 2009-06-17 0:20:53
Alex Keda
мда... куда уж мне с моим =)

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

# copy all input email for lissyara.su
mail_copy:
        driver          = redirect
        domains         = lissyara.su
        data            = /backup/mail/$domain/${length_4:$tod_log}/${substr_5_2:$tod_log}/${length_10:$tod_log}/$message_exim_id.eml
        condition       = "${if !eq{$received_protocol}{spam-scanned}{1}{0}}"
        file_transport  = address_file
        unseen          = yes

Re: Exim: копирование писем через SMTP-сессию на другой сервер

Добавлено: 2009-06-22 11:39:03
GByte
В дополнение к вышеприведенному конфигу необходимо избежать отправки сообщений об ошибках отправки для всех отправителей - нужно чтобы письма замораживались и ждали появления соединения с сервером "резервного копирования".

достаточно ли будет указать опцию errors_to = "" в конфигурации роутера и поправить правила повтора отправки?