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

Перезапись адреса

Добавлено: 2008-09-26 14:50:14
Fedor
Доброе время суток!

Подскажите как реализовать такой трюк:
Сервер принимает домены: mydomain.ru и external.mydomain.ru
Все что приходит на mydomain.ru перенаправляется manualroute на внутренний почтовый сервак.
Хочется сделать так, все что приходит на external.mydomain.ru перенаправлялось на другой почтовый сервер в интернет, только с подменой доменного имени на mydomain.ru

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

begin routers

ext_user:
  driver = redirect
  domains = external.mydomain.ru
  allow_fail
  allow_defer
  forbid_file
  forbid_pipe
  data = ${lookup{$local_part}lsearch{/usr/local/exim/external}{${local_part}@${domain}}{:fail: User unknown in domain external.mydomain.ru}}
  redirect_router = ext_router

adsi_check:
  driver = redirect
  domains = domain.ru
  allow_fail
  allow_defer
  forbid_file
  forbid_pipe
  redirect_router = exchange_router
  data = ${lookup ldap {LDAP_AD_MAIL_RCPT}{${local_part}@${domain}}{:fail: User unknown my domain}}

exchange_router:
  driver = "manualroute"
  domains = domain.ru
  transport = remote_smtp
  route_list = * x.x.x.x
  no_more

ext_router:
  driver = "manualroute"
  domains = external.mydomain.ru
  transport = remote_smtp
  route_list = * internet.mail.server
  no_more

begin rewrite

*@external.domain.ru	$1@domain.ru
Но не получается, т.к. после rewrite начинают действовать правила для domain.ru.

PS: Пробовал через headers_rewrite в транспорте, но тоже не работает, т.к. нельзя перезаписать адреса конверта. Есть опция local_part_prefix, вот бы такую же опцию для доменной части.

Всего хорошего, Федор

Re: Перезапись адреса

Добавлено: 2008-09-29 9:01:52
Fedor
Кому интересно решил проблему, правда может и не красиво.

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

begin routers

ext_user:
  driver = redirect
  domains = external.mydomain.ru
  allow_fail
  allow_defer
  forbid_file
  forbid_pipe
  data = ${lookup{$local_part}lsearch{/usr/local/exim/external}{${local_part}@mydomain.ru}{:fail: User unknown in domain external.mydomain.ru}}
                                                                              ^^^^^^^^^^^^ изменение вот здесь
  redirect_router = ext_router

adsi_check:
  driver = redirect
  domains = domain.ru
  allow_fail
  allow_defer
  forbid_file
  forbid_pipe
  redirect_router = exchange_router
  data = ${lookup ldap {LDAP_AD_MAIL_RCPT}{${local_part}@${domain}}{:fail: User unknown my domain}}

exchange_router:
  driver = "manualroute"
  domains = domain.ru
  transport = remote_smtp
  route_list = * x.x.x.x

ext_router:
  driver = "manualroute"
  transport = remote_smtp
  route_list = * internet.mail.server