Имеется такая схема: основной IP , который доступен извне только в определенное время, скажем с 10 до 17 часов. На нем работает exim + dovecot + pgsql (связка а-ля как тут у Лисяры описано) -- это основной MX 10 для домена test.com (+ N виртуальных доменов) - здесь оффис, юзеры по локалке получают/шлют почту через этот МТА . Есть второй круглосуточно доступный извне IP - удаленная система, железка находится у провайдера. На ней конфигуряем backup MX 20 для этого же самого домена test.com (+ те же самые N виртуальных доменов ). Здесь тоже ставим exim + pgsql , dovecot нам тут не надо.. (?). Базу pgsql юзеров с паролями периодически синхронизируем посредством внешних инструментов PGSQL, конфиг екзима несколько изменяем, в частности:
- добавляем параметр
т.е. всю почту для наших доменов накапливаем в очереди с тем чтобы позже столкнуть ее на главный сервер в офисе....# Use the queue_domains option to control which domains are held on the queue for later delivery.
queue_domains = @ : localhost : ${lookup pgsql{SELECT domain FROM domain WHERE \
domain='${domain}' AND active='1'}}
Теперь по крону задаем чтоб c 10 до 17 периодически пинговался IP оффиса, если отзывается, то даем команду exim-у обработать очередь:
Таким образом получаем механизм позволяющий принимать почту для всех наших доменов и их юзеров круглосуточно. С 10 до 17 почта будет падать прямо на oфис, в остальное время, когда IP оффиса недоступен, почта будет приниматься удаленной системой с MX 20, и как только офис снова становится доступен, то почта вся отсылается туда. В тонкости настройки DNS не вдаемся, там, для настоящего индейца, ничего сложного нет, к тому же это отдельная тема ...ping -c 3 office.test.com
if [ $? -eq 0 ] ; then exim -q ; fi
Теперь вопрос знатокам:
как прописать в exim.conf директивы, чтоб содержимое очереди предназначенное для домена test.com (+ N виртуальных доменов) по вышеуказанной команде сталкивалось по SMTP на office.test.com ?