Назад | Перейти на главную страницу

Exim: ретранслировать неизвестных получателей на другой сервер

Вопрос

Могу ли я заставить Exim ретранслировать почту с неизвестным получателем на другой хост?

Сценарий

Я хочу организовать миграцию Exim на Exchange таким образом, чтобы я мог перемещать отдельные учетные записи между серверами и поддерживать все учетные записи в рабочем состоянии.

Моя идея:

  1. настроить Exchange для работы в качестве внутреннего ретранслятора, т.е. для передачи неопознанных получателей в exim,
  2. выполнить аналогичную конфигурацию на eximʻe и применить любую форму защиты от петель на любом конце (для сообщений, которые неизвестны на обоих серверах),
  3. сохранить Exim в качестве цели записей MX до конца постановки,
  4. постепенно создавать новые учетные записи на Exchange и одновременно отключать их на Exim

Я также приветствую любую критику, если идея по какой-либо причине звучит дерьмово.

Вы можете сделать это с помощью комбинации ACL и маршрутизатора.

Сначала вы должны передать через ACL все сообщения, подтверждающие существование определенной учетной записи:

acl_smtp_rcpt:
accept   domains = +local_domains
         !verify = recipient
   set acl_m_fwd = go2xchg
. . . . 
# all the rest rules

Затем вам нужно добавить роутер:

begin routers
xchg:
       driver = manualroute
    condition = {if eq{$acl_m_fwd}{go2xchg}}
   route_list = * 11.22.33.44 
    transport = remote_smtp
      no_more
. . . . 
# all the rest routers

где 11.22.33.44 - IP-адрес сервера Exchange.