На одном из серверов крутятся несколько сайтов, но почта с этих сайтов должна рассылаться с другого сервера.
Пришлось искать решение вопроса.
И оно нашлось...

По сути работает условие, если домен отправителя равен указанному нами домену, то почта отправляется на smarthost, который в свою очередь принимает почту от первого сервера без авторизации.

Настраивалось это на Ubuntu, Debian с этим чудным конфигом... На CentOS, RedHat будет немного проще.

Открываем на редактирование файл /etc/exim4/exim4.conf.template


Добавляем блок smart_route

begin routers
smart_route:
condition = ${extract{smart_host}{${lookup{$sender_address_domain}lsearch{/etc/exim4/staticroutes}{$value}fail}}}
driver = manualroute
transport = remote_smtp
route_list = "* ${extract{smart_host}{${lookup{$sender_address_domain}lsearch{/etc/exim4/staticroutes}{$value}fail}}}"

#smarthost:
# driver = manualroute
# domains = ! +local_domains
# transport = remote_smtp
# route_list = * smartrelay.domain.com
# no_more
# no_verify

dnslookup:
driver = dnslookup
domains = !+local_domains
transport = remote_smtp
no_more

Остальное приведено для примера, т.е. по сути добавляем блок сразу после begin routers.

Вторым шагом создаём файл /etc/exim4/staticroutes с содержимым

domain1.com: smart_host=smarthost1.domain.com
domain2.com: smart_host=smarthost2.domain.com


На каждой новой строке новое условие.
Выходит если отправителем письма указан к примеру admin@domain1.com, то письмо отправится на smarthost1.domain.com, который уже сам будет разбираться что делать с письмом. Доставлять его локально, подписывать DKIM, проверять на вирусы, доставлять куда то ещё...
Ну и конечно же после проделанных операций перезапускаем exim и смотрим лог.

# service exim4 restart
# tail -f /var/log/exim4/mainlog


При применении фантазии и смекалки, можно подобным образом перенаправлять на смартхост письма для определённых доменов.