Страница 1 из 1
					
				system_filter работает не так
				Добавлено: 2010-06-08 10:18:06
				 moreh
				нашёл тут на форуме кое какой пример исправил его под себя вот что получилось
Код: Выделить всё
lodagw# cat /usr/local/etc/exim/redirect_mail
logfile /var/log/exim/filter
if $recipients does not match "@local.domain" #копируем все исходящие которые уходят не на локальный домен
then
unseen deliver adminc@local.domain
endif
if $sender_address does not match "@local.domain" #копируем все внешние входящие
then
unseen deliver system@local.domain
endif
и получаеться что  все исходящие и на локальные адреса и на удалённые копируются в  
adminc@local.domain
а входящие с внешних адресов вообще не получает ни один ящик
и ещё   в лог /var/log/exim/filter ничего не пишется почему-то
в чём может быть проблема?
 
			
					
				Re: system_filter работает не так
				Добавлено: 2010-06-08 10:22:26
				 Alex Keda
				
почитайте чё в ней содержится и в какие моменты времени
 
			
					
				Re: system_filter работает не так
				Добавлено: 2010-06-08 10:33:09
				 moreh
				 Переменная раскрытия “$recipients”, содержащая список всех получателей сообщения (разделённых запятыми и пробелами), - доступна в системных фильтрах. Из соображений безопасности, она не доступна в пользовательских фильтрах.
ну всё правильно в ней должен быть адрес получателя, или не так что ли?
 
			
					
				Re: system_filter работает не так
				Добавлено: 2010-06-08 15:58:05
				 moreh
				с этим разобрался всё гуд работает. Ещё такой вопрос, как сделать что бы  письма которые приходят на несуществующий получателей отправлялись на один специальный ящик 
error@local.domain 
это можно сделать через системный фильтр или же надо в роуринге  делать? как то через  verify recipirnts?
 
			
					
				Re: system_filter работает не так
				Добавлено: 2010-06-08 16:14:11
				 Alex Keda
				ну, вы как-то проверяете существование получателей?
это же условие наоборот и изменение адреса доставки в месте где его юзаете наоборот.
			 
			
					
				Re: system_filter работает не так
				Добавлено: 2010-06-08 16:33:50
				 moreh
				я так полагаю проверка получателя происходит  только тут
Код: Выделить всё
  # Проверка получателя в локальных доменах.
  # Если не проходит, то проверяется следующий ACL,
  # и если непрошёл и там - deny
  accept  domains       = +local_domains
          endpass
          message       = "No such user on my mailserver!"
          verify        = recipient
  # Проверяем получателя в релейных доменах
  # Опять-таки если не проходит -> следующий ACL,
  # и если непрошёл и там - deny
  accept  domains       = +relay_to_domains
          endpass
          message       = "Don't know how to relay to this address!"
          verify        = recipient
больше я ничего нигде не правил
кстати, сейчас письма которые не адресованы не существующим ящикам появляются на  ящике на который стоит вот это правило
Код: Выделить всё
if $recipients match "@local.domain"       #копируем все входящие, приходящие на адреса с локальным доменом
then
unseen deliver admink@tdlonda.ru
endif
 
			
					
				Re: system_filter работает не так
				Добавлено: 2010-06-09 17:49:15
				 moreh
				сделал вот так 
Код: Выделить всё
nouser:
     driver      = redirect
    allow_fail
    allow_defer
    condition = ${if eq{} {${lookup mysql{SELECT goto FROM alias \
                WHERE (id='${quote_mysql:$local_part@$domain}' OR \
                       id='${quote_mysql:@$domain}') AND \
                       active='1'}}}{yes}{no}}
    data = error@local.domain
# Системные алиасы
system_aliases:
    driver = redirect
 allow_fail
    allow_defer
    data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
            `address`='${quote_mysql:$local_part@$domain}' OR \
            `address`='${quote_mysql:@$domain}'}}
# Доставка локальным юзерам в Dovecot
dovecot_user:
    driver = accept
    condition = ${lookup mysql{SELECT `goto` FROM \
    `alias` WHERE \
    `address`='${quote_mysql:$local_part@$domain}' OR \
   `address`='${quote_mysql:@$domain}'}{yes}{no}}
    transport = dovecot_delivery 
но чо то  вообще письма перестали приходить =(
вот что в логе 
Код: Выделить всё
2010-06-09 17:22:25 1OMLEf-0000Pz-55 <= server@local.domain H=(sysadmin) [192.168.0.21] I=[192.168.0.101]:25 P=esmtpa A=auth_cram_md5: S=618 id=277452925.20100609171407@local.domain from <server@local.domain> for fgdfgdf@local.domain
2010-06-09 17:22:25 1OMLEf-0000Pz-55 == fgdfgdf@local.domain R=nouser defer (-1): condition check lookup
в чём проблема тут ?