Exim4 Интеллектуальный хост-реле

Exim4 Интеллектуальный хост-реле

Я использую Exim 4.71. Я хочу:

  1. Маршрутизация всей электронной почтыотA.com через mail.A.com
  2. Маршрутизация всей электронной почтыот[BE].com через mail.B.com
  3. Все остальные письма отправляйте напрямую.

Вот моя конфигурация, которая не работает так, как я надеялся:

список доменов a_domains = a.com
список доменов b_domains = b.com : c.com : d.com : e.com

начать маршрутизаторы

smart_route_a:
  водитель = manualroute
  домены = +a_domains
  транспорт = remote_smtp
  route_list = +a_domains mail.a.com
  больше не надо

smart_route_b:
  водитель = manualroute
  домены = +b_домены
  транспорт = remote_smtp
  route_list = +b_domains mail.mollenhour.com
  больше не надо

DNS-поиск:
  драйвер = dnslookup
  домены = ! +локальные_домены
  транспорт = remote_smtp
  игнорировать_целевые_хосты = 0.0.0.0 : 127.0.0.0/8
  больше не надо

Когда я отправляю электронное письмо, например, с помощью PHP mail() или Zend_Mail_Transport_Smtpустанавливаю From: и Return-Path: как[email protected], smart_route_aмаршрутизатор не используется, вместо него используется dnslookup. Отключение dnslookup приводит к тому, что почта не отправляется.

Из журналов следует, что электронное письмо отправленок [email protected]использует smart_route_a, но то же самое письмо отправлено из[email protected]к[email protected]отправляется с использованием dnslookup.

Как мне создать электронную почтуот [email protected]быть передано через mail.a.com?

решение1

Используйте условный падеж

route_list = * "${if match{$header_from:}{\N.*\.a\.com$\N} {mail.a.com}}"

домены = проверяет только целевой домен, а не исходный домен.

Связанный контент