Вопрос по пользовательским фильтрам

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mitry13
проходил мимо

Вопрос по пользовательским фильтрам

Непрочитанное сообщение mitry13 » 2007-11-27 11:58:41

Здравствуйте!
Exim+ClamAV+Dovecot на Debian. Настроено, работает... но возникли проблемы при определении пользовательских фильтров.
Конфиг роутеров:

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

smarthost:
  debug_print = "R: smarthost for $local_part@$domain"
  driver = manualroute
  domains = ! +local_domains
  transport = remote_smtp_smarthost
  route_list = * DCsmarthost byname
  ignore_target_hosts = 0.0.0.0:127.0.0.0/8
  host_find_failed = defer
  same_domain_copy_routing = yes
  no_more

.endif

real_local:
  debug_print = "R: real_local for $local_part@$domain"
  driver = accept
  domains = +local_domains
  local_part_prefix = real-
  check_local_user
  transport = LOCAL_DELIVERY

# aliases in SQL database
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}'}}

userforward:
  debug_print = "R: userforward for $local_part@$domain"
  driver = redirect
  domains = +local_domains
  check_local_user
  file = /var/mail/exim/$domain/$local_part/.forward
  require_files = mailnull:/var/mail/exim/$domain/$local_part/.forward
  no_verify
  no_expn
  check_ancestor
  allow_filter
  forbid_smtp_code = true
  directory_transport = address_directory
  file_transport = address_file
  pipe_transport = address_pipe
  reply_transport = address_reply
  skip_syntax_errors

# Use dovecot for local delevery
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
  cannot_route_message = Unknown user  
В папке лежит файл /var/mail/exim/mydomain/trash/.forward
содержанием

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

#Exim filter   <<== do not edit or remove this line!
if error_message then finish endif
if $header_From: contains "@mail.ru"
then
deliver trash@mydomain
deliver dmitry@mydomain
deliverpostmaster@mydomain
endif
Однако письмо приходит как будто фильтра нет :(
и как заставить Эксим писать в логе о применении/неприминении роутеров?

Хостинговая компания 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
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Вопрос по пользовательским фильтрам

Непрочитанное сообщение Alex Keda » 2007-11-27 14:12:21

в отладке запускал?
Убей их всех! Бог потом рассортирует...

mitry13
проходил мимо

Re: Вопрос по пользовательским фильтрам

Непрочитанное сообщение mitry13 » 2007-11-27 15:04:52

В отладке фильтра все нормально... а есть способ посмотреть где он фильтр ищет в роутере?

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

garmail:/var/mail/exim/mydomain/trash# /usr/sbin/exim4 -bf .forward <test
Return-path taken from "Return-path:" header line
Return-path = mitry13@mail.ru
Sender      = root@mydomain
Recipient   = root@mydomain

Testing Exim filter file ".forward"
Deliver message to: trash@garant.stz.ru
Deliver message to: dmitry@garant.stz.ru
Deliver message to: postmaster@garant.stz.ru
Filtering set up at least one significant delivery or other action.
No other deliveries will occur.

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

Re: Вопрос по пользовательским фильтрам

Непрочитанное сообщение Alex Keda » 2007-11-27 15:14:34

письмо в отладке отправь
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: Вопрос по пользовательским фильтрам

Непрочитанное сообщение Гость » 2007-11-27 17:13:50

А как это сделать? :(
если exim -d+all trash@mydomain
From: zzz@mail.ru
To: trash@mydomain
Subject: Test
То в получившемся логе нифига про роутеры и фильтры нет :(

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

Re: Вопрос по пользовательским фильтрам

Непрочитанное сообщение Alex Keda » 2007-11-27 20:18:27

значит он ими не обрабатывается.
и причина - указана в нём же
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: Вопрос по пользовательским фильтрам

Непрочитанное сообщение Гость » 2007-11-27 22:51:54

Спасибо! Разобрался... просто почему-то Putty при повторной отправке письма лог полный не выдает... а так дело было в check_local_user т.к. у нас виртуальные а не системные пользователи и в правах к файлу с фильтром (Exim'у не нравился полный доступ на все для всех).

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

Re: Вопрос по пользовательским фильтрам

Непрочитанное сообщение Alex Keda » 2007-11-27 23:13:13

а путти вообще странное создание.
может вообще сессию закрыть если резко в консоль много всего лезет...
Убей их всех! Бог потом рассортирует...