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

Exim: использовать конкретный смарт-хост только для определенного домена получателя

Ищу решение для описанного ниже случая.

Мне пришлось отправлять почту в некоторые домены (hotmail, outlook) через smarthost из-за блокировки IP моего сервера (Hetzner) на стороне Microsoft.

Ключевым моментом здесь является то, что мне нужно ретранслировать не указанного отправителя на smarthost (хотя это желательно), но один и только один домен получателя (hotmail.com) должен ретранслироваться через внешний smarthost

Выдержка из примера конфигурации exim

send_via_gmail:
   driver = manualroute
   domains = ! +local_domains
   senders = user@example.tld
   transport = gmail_smtp
   route_list = "* smtp.gmail.com"

Решение на первый взгляд довольно простое.

Просто добавляем домен, необходимый в domains список конфигураций.

Достаточно или нет? Может быть есть лучший способ пойти.

P.S. Хм .. или domains = ! +local_domains относится к домену отправителя, а не к домену получателя?

В domains содержит целевые домены, которым маршрутизатор должен отправлять сообщения, поэтому замена его списком доменов, состоящим из «outlook.com» и «hotmail.com», заставит Exim маршрутизировать эти сообщения через smarthost.

В качестве примечания, ваша конфигурация содержит senders параметр, поэтому маршрутизатор отклонит, если отправитель не user@example.tld, независимо от целевого домена.