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

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Fedor
ефрейтор
Сообщения: 67
Зарегистрирован: 2007-12-19 18:17:30
Откуда: Москва

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

Непрочитанное сообщение Fedor » 2008-09-26 14:50:14

Доброе время суток!

Подскажите как реализовать такой трюк:
Сервер принимает домены: 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, вот бы такую же опцию для доменной части.

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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Fedor
ефрейтор
Сообщения: 67
Зарегистрирован: 2007-12-19 18:17:30
Откуда: Москва

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

Непрочитанное сообщение Fedor » 2008-09-29 9:01:52

Кому интересно решил проблему, правда может и не красиво.

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

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
Всего хорошего, Федор