Окт
18
2008
Маршрутизация (mailertable) в exim
Понадобился мне аналог mailertable из sendmailа, но в eximе.
В exim есть механизм routers, который и определяет куда направлять письмо.
Начинается секция routers с routerа dnslookup, благодаря этому роутеру и определяется маршрутизация в соответствии с MX записи DNS, в нашей ситуации это нам не поможет.
Поэтому мы добавим свой роутер mailrtable перед роутером dnslookup. В итоге у нас получается такая конфигурация
begin routers mailertable: driver = manualroute domains = ! +local_domains transport = remote_smtp route_data = ${lookup{$domain}dbm{/usr/local/etc/exim/mailertable.dbm}} dnslookup: driver = dnslookup domains = ! +local_domains transport = remote_smtp ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 no_more ... далее стандартная конфигурация ... |
Файл /usr/local/etc/exim/mailertable.dbm получаем так :
Берем любимый редактор и создаем файл
/usr/local/etc/exim/mailertable, такого формата
hilik.org.ua 192.168.0.1 |
И после этого выполняем команду
exim_dbmbuild /usr/local/etc/exim/mailertable /usr/local/etc/exim/mailertable.dbm |
Проверить что у нас получилось можно командой
exim -bt hilik@hilik.org.ua |
По итогу мы должны увидеть:
hilik@hilik.org.ua router = mailertable, transport = remote_smtp host 192.168.0.1 [192.168.0.1] |
Все работает замечательно.