system_filter работает не так

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
moreh
рядовой
Сообщения: 24
Зарегистрирован: 2010-06-07 13:48:50

system_filter работает не так

Непрочитанное сообщение moreh » 2010-06-08 10:18:06

нашёл тут на форуме кое какой пример исправил его под себя вот что получилось

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

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 ничего не пишется почему-то
в чём может быть проблема?

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

Re: system_filter работает не так

Непрочитанное сообщение Alex Keda » 2010-06-08 10:22:26

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

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

moreh
рядовой
Сообщения: 24
Зарегистрирован: 2010-06-07 13:48:50

Re: system_filter работает не так

Непрочитанное сообщение moreh » 2010-06-08 10:33:09

Переменная раскрытия “$recipients”, содержащая список всех получателей сообщения (разделённых запятыми и пробелами), - доступна в системных фильтрах. Из соображений безопасности, она не доступна в пользовательских фильтрах.
ну всё правильно в ней должен быть адрес получателя, или не так что ли?

moreh
рядовой
Сообщения: 24
Зарегистрирован: 2010-06-07 13:48:50

Re: system_filter работает не так

Непрочитанное сообщение moreh » 2010-06-08 15:58:05

с этим разобрался всё гуд работает. Ещё такой вопрос, как сделать что бы письма которые приходят на несуществующий получателей отправлялись на один специальный ящик error@local.domain
это можно сделать через системный фильтр или же надо в роуринге делать? как то через verify recipirnts?

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

Re: system_filter работает не так

Непрочитанное сообщение Alex Keda » 2010-06-08 16:14:11

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

moreh
рядовой
Сообщения: 24
Зарегистрирован: 2010-06-07 13:48:50

Re: system_filter работает не так

Непрочитанное сообщение moreh » 2010-06-08 16:33:50

я так полагаю проверка получателя происходит только тут

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

  # Проверка получателя в локальных доменах.
  # Если не проходит, то проверяется следующий 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

moreh
рядовой
Сообщения: 24
Зарегистрирован: 2010-06-07 13:48:50

Re: system_filter работает не так

Непрочитанное сообщение moreh » 2010-06-09 17:49:15

сделал вот так

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

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
в чём проблема тут ?