
Я использую Exim 4.71. Я хочу:
- Маршрутизация всей электронной почтыотA.com через mail.A.com
- Маршрутизация всей электронной почтыот[BE].com через mail.B.com
- Все остальные письма отправляйте напрямую.
Вот моя конфигурация, которая не работает так, как я надеялся:
список доменов 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}}"
домены = проверяет только целевой домен, а не исходный домен.