Exim: используйте remote_smtp или smarthost для отработки отказа
У меня есть сервер с exim4 и смарт-хостом перед ним, использование смарт-хоста обязательно, университет закрыл порт 25. Однако на IPv6 этот порт открыт. Поэтому, когда у принимающего сервера есть адрес IPv6, я могу отправить его напрямую.
Итак, мой вопрос: как я могу позволить exim принять решение о маршрутизации на основе IP-адреса или сначала попробовать IPv6, и если это не работает, используйте smarthost.
1 ответ
Самый простой способ сделать это может быть положить ignore_target_hosts
директива на SMTP-маршрутизаторе, чтобы exim проходил через этот маршрутизатор, если обнаружил IPv4-адрес в записи MX получателя. Что-то вроде:
ignore_target_hosts = 0.0.0.0/0
Тогда вам просто нужен промежуточный маршрутизатор внизу, указывающий на транспорт Smarthost. Это должно означать, что любой адресат с записью MX IPv6 должен пытаться выполнить прямую доставку, а любой адресат с IPv4 "проваливается" на следующий маршрутизатор, который попытается доставить смарт-хост.