LINUX.ORG.RU
решено ФорумAdmin

Exim4

 


0

1

Есть домен example.com его MX на яндыексе. Сервер тоже называется example.com. Как заставить exim слать почту user@example.com на яндекс а не пытаться доставить локально? Менять имя хоста нельзя.


Ответ на: комментарий от bass

Не, не то я не хочу слать через smarthost, по сути яндекс это для примера. Как быть в ситуации когда MX находится на другом сервере, а имя сервера такое же.

Spinel
() автор топика
Ответ на: комментарий от Spinel

Слишком не точный вопрос даст слишком не точный ответ. Можно сделать смартхост, как выше сказали, можно сделать хабб, используя manualroute driver.

hubbed_hosts:
    debug_print = "R: hubbed_hosts for $domain"
    driver = manualroute
    domains = "${if exists{CONFDIR/hubbed_hosts}\
           {partial-lsearch;CONFDIR/hubbed_hosts}\
          fail}"
    same_domain_copy_routing = yes
    route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
    transport = remote_smtp
    no_more

Где файл CONFDIR/hubbed_host будет выглядеть как

example.com mx.yandex.ru

Кроме того надо разобраться с транспортом: позволит ли тот mx проталкивать сообщение.

Ну и самое простое решение: mx яндекса отметить как основной (меньший номер в dns).

zloelamo ★★★★
()
Ответ на: комментарий от Spinel

По большому счету важно понять что у тебя там в конфиге уже накручено и куда идет это письмо в данный момент.

zloelamo ★★★★
()
Ответ на: комментарий от zloelamo

Настроено все по дефолту через dpkg-reconfigure exim4-config, почта пытается доставиться локально. Пока решил проблему добавлением MAIN_HARDCODE_PRIMARY_HOSTNAME=mx.example.com, но это как-то не красиво.

Spinel
() автор топика
Ответ на: комментарий от Spinel

А, волшебный дебиан. Тогда ковыряй hubbed_hosts файл. Я этот пример по сути из дебиана и взял.

zloelamo ★★★★
()
Ответ на: комментарий от Spinel

Вообще для всех доменов? Smarthost, как уже выше сказали. Для конкретных manualroute, либо очередность записей MX.

zloelamo ★★★★
()
Ответ на: комментарий от Spinel

transport = remote_smtp

Этого недостаточно. remote_smtp, без мануалроут, будет пытаться отправить на MX с минимальным весом, а если это ты, то ничего не выйдет и будут ошибки.

zloelamo ★★★★
()

Вообщем как всегда сам спросил сам ответил:

dnslookup_relay_to_domains:
  debug_print = «R: dnslookup_relay_to_domains for $local_part@$domain»
  driver = dnslookup
  domains = +local_domains : +relay_to_domains
  transport = remote_smtp
  same_domain_copy_routing = yes
  no_more
убрать ! перед +local_domains

Spinel
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.