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

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Agronom
ст. сержант
Сообщения: 304
Зарегистрирован: 2006-12-11 10:30:13

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

Непрочитанное сообщение Agronom » 2014-10-07 10:10:48

есть на входе 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 можно указывать только домены. Как решить такую задачу?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35350
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2014-10-16 9:46:25

Роутеры обрабатываются по очереди.
Доставить до smart и всё.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Agronom
ст. сержант
Сообщения: 304
Зарегистрирован: 2006-12-11 10:30:13

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

Непрочитанное сообщение Agronom » 2014-10-27 11:40:35

поставил 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