Страница 1 из 1

Пересылка всего, кроме...

Добавлено: 2014-10-07 10:10:48
Agronom
есть на входе exim, который проверяет на черные списки и рулит адресами виртуалхостов, но в основном он всю передает другому серверу (next). Но на exim есть несколько системных юзеров, которые должны получать почту. Не пойму как сделать пересылку всей почты, кроме писем для системных юзеров. Сейчас прописано так:

Код: Выделить всё

smart_route:
	driver = manualroute
        transport = remote_smtp
	route_list = next.mailserv.ru 192.168.1.25
но эта схема перегружена созданием алиасов для всех юзеров сервера next, вместо того, чтобы тупо передавать всю почту на разбор тому серверу. Как сделать что-то типа:

Код: Выделить всё

smart_route:
	driver = manualroute
        transport = remote_smtp
        local_parts = lsearch;/usr/local/etc/exim/users.list
	route_list = "все кроме"local_parts 192.168.1.25
Но я так понимаю, что в route_list можно указывать только домены. Как решить такую задачу?

Re: Пересылка всего, кроме...

Добавлено: 2014-10-16 9:46:25
Alex Keda
Роутеры обрабатываются по очереди.
Доставить до smart и всё.

Re: Пересылка всего, кроме...

Добавлено: 2014-10-27 11:40:35
Agronom
поставил smart_route в самый конец, после локальных юзеров - все ок, кроме алиасов...не отрабатываются, хотя стоят первыми в списке.
Вот как выглядят роутеры:

Код: Выделить всё

#####################################################################
#                      ROUTERS CONFIGURATION                         #
#               Specifies how addresses are handled                  #
#####################################################################
#     THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT!       #
# An address is passed to each router in turn until it is accepted.  #
######################################################################
begin routers

        dnslookup:
          driver = dnslookup
          domains = ! +local_domains
          transport = remote_smtp
          ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
          no_more

system_aliases:
 driver = redirect
 allow_fail
 allow_defer
 data = ${lookup{$local_part}lsearch{/etc/aliases}}
# user = exim
 file_transport = address_file
 pipe_transport = address_pipe
            
multi_aliases1:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup{$local_part}lsearch{/etc/exim/aliases/aliases_fil1}}
  file_transport = address_file
  pipe_transport = address_pipe

multi_aliases2:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup{$local_part}lsearch{/etc/exim/aliases/aliases_fil2}}
  file_transport = address_file
  pipe_transport = address_pipe
                            
virtual:
  driver = redirect
  domains = dsearch;/etc/exim/aliases/
  data = ${lookup{$local_part}lsearch{/etc/exim/aliases/$domain}}
  file_transport = address_file
  pipe_transport = address_pipe
                                                                                                                                                                                  -                                                                                                                                      
uservacation:
      driver = accept
      require_files = /home/$local_part/.vacation.txt
      condition = ${if or { \
      {match {$h_precedence:} {(?i) junk|bulk|list}} \
      {eq {$sender_address} {}} \
      {match {$h_subject:} {(ADV|Adv)}} \
      } {no} {yes}}
    no_expn
        senders = ! ^.*-request@.*:\
          ! ^bounce-.*@.*:\
          ! ^.*-bounce@.*:\
          ! ^owner-.*@.*:\
          ! ^postmaster@.*:\
          ! ^webmaster@.*:\
          ! ^listmaster@.*:\
          ! ^mailer-daemon@.*\
          ! ^root@.*
      transport = uservacation_transport
          unseen
      no_verify  
userforward:
  driver = redirect
  check_local_user
  file = /home/$local_part/.fwrd
  no_verify
  no_expn
  check_ancestor
  file_transport = address_file
  pipe_transport = address_pipe
  reply_transport = address_reply

localuser:
  driver = accept
    check_local_user
    transport = local_delivery
    cannot_route_message = Unknown user

smart_route:
        driver = manualroute
        transport = remote_smtp
        route_list = * 192.168.1.2