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

Exim, перепишите в зависимости от роутера

Я пытаюсь заставить Exim работать таким образом, чтобы он переписывал сообщения, которые остаются в LAN, иначе, чем те, которые отправляются на внешние серверы.

Можно просто переписать каждое сообщение, но это загромождает сообщения для локального использования.

Внутренняя перезапись будет

*@*.localnet xeross-mail@server01.localnet T

И исходящий был бы

*@*.localnet $1.$2@valid.domain.tld

Что приведет к тому, что someuser@someserver.localnet станет someuser.someserver@valid.domain.tld?

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

Вам необходимо изменить маршрутизатор, который обычно обрабатывает всю нелокальную почту (dnslookup), чтобы он также исключал почту для других хостов внутри вашей сети. Затем вам нужно добавить новый маршрутизатор для обработки этой почты и направить ее на новый транспорт. В новом транспорте вы можете добавить определенные правила перезаписи, которые затем будут влиять только на внутреннюю почту.

Что-то вроде (непроверено),

маршрутизатор (должен быть перед маршрутизатором dnslookup, чтобы он сначала обрабатывал локальные сообщения) -

mynet:
  driver = dnslookup
  domains = localnet
  transport = mynet_smtp

транспорт -

mynet_smtp:
  driver = smtp
  headers_rewrite = *@*.localnet xeross-mail@server01.localnet

remote_smtp:
  driver = smtp
  headers_rewrite = *@*.localnet $1.$2@valid.domain.tld