system-filter зарезать некоторых адресатов

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

system-filter зарезать некоторых адресатов

Непрочитанное сообщение schizoid » 2008-10-01 9:02:53

есть фильтр:

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

if
$sender_address is "${lookup mysql{SELECT `mail_address` FROM `black_list` WHERE `mail_address`='$sender_address' LIMIT 1}}"
or $reply_address is "${lookup mysql{SELECT `mail_address` FROM `black_list` WHERE `mail_address`='$reply_address' LIMIT 1}}"
then
logwrite "$tod_log sender $sender_address is in black list. mail is deleting"
seen finish
endif
есть письмо

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

Return-path: <USER@mail.ru>
Envelope-to: system-filter
Delivery-date: Fri, 26 Sep 2008 16:54:26 +0300
Received: from f207.mail.ru ([194.186.55.151])
        by HOST.cg.ukrtel.net with esmtp (Exim 4.69 (FreeBSD))
        (envelope-from <USER@mail.ru>)
        id 1KjDm6-0000PQ-ML
        for USER@HOST.cg.ukrtel.net; Fri, 26 Sep 2008 16:54:26 +0300
Received: from mail by f207.mail.ru with local
        id 1KjDka-0006ym-00
        for USER@HOST.cg.ukrtel.net; Fri, 26 Sep 2008 17:52:52 +0400
Received: from [92.112.94.68] by win.mail.ru with HTTP;
        Fri, 26 Sep 2008 17:52:52 +0400
From: USER <USER@mail.ru>
To: USER <USER@HOST.cg.ukrtel.net>
Subject: test
Mime-Version: 1.0
X-Mailer: mPOP Web-Mail 2.19
X-Originating-IP: [92.112.94.68]
Date: Fri, 26 Sep 2008 17:52:52 +0400
Reply-To: USER <USER@mail.ru>
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 8bit
Message-Id: <E1KjDka-0006ym-00.USER-mail-ru@f207.mail.ru>
X-Spam: Not detected
X-Mras: OK
X-Spam-Description: if spam count > 60 - this is spam
X-Spam-Count: 10
и есть такое:

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

Return-path: <gluck@mail.subscribe.ru>
Envelope-to: system-filter
Delivery-date: Tue, 30 Sep 2008 12:00:49 +0300
Received: from gato77.subscribe.ru ([81.222.129.77])
        by HOST.cg.ukrtel.net with esmtp (Exim 4.69 (FreeBSD))
        (envelope-from <gluck@mail.subscribe.ru>)
        id 1Kkb68-000JAN-8K
        for USER2@HOST.cg.ukrtel.net; Tue, 30 Sep 2008 12:00:49 +0300
Received: id 2AA7022DA3D-1222765125
X-Felis-Queue-Id: 20080930125840
Precedence: normal
List-Id: <ad.creatiff.subscribe.ru>
List-Help: <http://subscribe.ru/catalog/ad.creatiff>
List-Subscribe: <mailto:ad.creatiff-sub@subscribe.ru>
List-Unsubscribe: <mailto:ad.creatiff-unsub@subscribe.ru>
List-Archive:  <http://subscribe.ru/archive/ad.creatiff>
List-Owner: <mailto:ask@subscribe.ru>
List-Post: NO
Message-Id: <20080930124952.hki.12055538@ad.creatiff.subscribe>
Date: Tue, 30 Sep 2008 12:49:52 +0400
From: "Subscribe.Ru" <namma12055538@subscribe.ru>
To: "ad.creatiff" <USER2@HOST.cg.ukrtel.net> (12055538)
Subject: =?koi8-r?Q?AdMe=2Eru=20-=20=F1=D2=CB=C9=C5=20=C9=C4=C5=C9=20=D7=20=D2=C5?=
 =?koi8-r?Q?=CB=CC=C1=CD=C5=2C=20=CD=C1=D2=CB=C5=D4=C9=CE=C7=C5=20=C9=20PR?=
MIME-Version: 1.0
Content-Type: multipart/related;
  boundary="=felis-related=20080930125832=25949"
X-Spam-Description: if spam count > 60 - this is spam
X-Spam-Count: 10

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

SELECT * FROM `black_list`;
+----+----------------------------+
| id | mail_address               |
+----+----------------------------+
| 1  | namma12055538@subscribe.ru |
| 2  | shizoid2@mail.ru           |
+----+----------------------------+
2 rows in set (0.00 sec)
первое сообщение режется, а второе нет
в чем прикол?
при чем первое режется по первому правилу

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

$sender_address is "${lookup mysql{SELECT `mail_address` FROM `black_list` WHERE `mail_address`='$sender_address' LIMIT 1}}"
второе добал вчера уже от безвыходности...
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение schizoid » 2008-10-01 10:05:30

попробовал сделать вмеcто is -> contains
ждемс дальше
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение dikens3 » 2008-10-01 14:39:15

Основной конфиг:

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

# Заблокированные E-Mail'ы
MYSQL_BAD_EMAILS        = SELECT email FROM block_emails
acl_smtp_rcpt:

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

# Прибиваем плохие E-Mail'ы и домены.
  deny      message      = You are blocked !
            senders      = ${sg{${lookup mysql{MYSQL_BAD_EMAILS}}}{\n}{:}}

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

mysql> select * from block_emails;
+----------------------+
| email                |
+----------------------+
| *@domain.ru          |
| *@kengu.ru           |
| tendence.russian@*   |
+----------------------+
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение schizoid » 2008-10-01 21:53:37

снкс. опробую
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение schizoid » 2008-10-02 9:25:28

прикол в том, что это сообщение по логам ексима вот как выглядит:

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

2008-10-02 01:37:56 1KlAKQ-000Oma-Kj <= gluck@mail.subscribe.ru H=gato76.subscribe.ru [81.222.129.76] I=[192.168.0.1]:25 P=esmtp S=122303 id=
20081002021407.hki.12055538@help.lifeschool.subscribe from <gluck@mail.subscribe.ru> for USER@HOST.cg.ukrtel.net
2008-10-02 01:37:56 1KlAKQ-000Oma-Kj => backup_in (backup_in@HOST.cg.ukrtel.net) <system-filter> R=localuser T=local_delivery
2008-10-02 01:37:57 1KlAKQ-000Oma-Kj => USER <USER@HOST.cg.ukrtel.net> R=localuser T=local_delivery
2008-10-02 01:37:57 1KlAKQ-000Oma-Kj Completed
т.е. вроде как от gluck@mail.subscribe.ru приходит рассылка, а если его зарезать, то порежется вообще вся рассылка (если с него действительно присылается)
в MDaemon я эту внягу решал добавлением фильтра на основе хедера...че ж тут то не пашет?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение schizoid » 2008-10-02 11:34:47

прикол в том, что адресс рассылки содержится только в поле From:
как-то можно на основании этого порезать?
чета лопачу документацию по ексиму, никак не могу найти как это сделать.
я так понял поле From: передается ексиму переменной $header_from, так?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение dikens3 » 2008-10-02 19:50:11

schizoid писал(а):т.е. вроде как от gluck@mail.subscribe.ru приходит рассылка, а если его зарезать, то порежется вообще вся рассылка (если с него действительно присылается)
Да, порежется вся рассылка от адресата gluck@mail.subscribe.ru, а ты что хочешь сделать то?
schizoid писал(а):чета лопачу документацию по ексиму, никак не могу найти как это сделать.
я так понял поле From: передается ексиму переменной $header_from, так?
Если ты про Систем-фильтр, то нет ничего лучше документации, в которую тебя и отправляю.

http://www.lissyara.su/?id=1254#3.5
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение schizoid » 2008-10-03 9:49:31

а можно, если не трудно, объяснить как работает акл, тот что ты мне для примера кинул?
интересует следeющее, как он рекурсивно проверяет все адреса в базе?
потому как подобный пример в фильтрах не работает, т.е. там нужно селектом выбрать 1 адрес и сравнить с хедером.
но нет возможнсть в запросе указать where, т.к. адрес находится только в секции From: с кучей всякой левой инфы.
единственный вариант пока я смог придумать так:

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

if
$header_from: contains "namma12055538@subscribe.ru"
then
logwrite "$tod_log sender $sender_address (header $header_from:) is in black list. mail is deleting."
seen finish
endif
просто хотелось все это прикрутить к базе...но видно не судьба...
а еще, фильры ексимовские циклы понимают? я что-то в доке не нашел :unknown:
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение dikens3 » 2008-10-03 20:17:46

schizoid писал(а):а можно, если не трудно, объяснить как работает акл, тот что ты мне для примера кинул?
Если коротко то он станет выглядеть так:

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

# Прибиваем плохие E-Mail'ы и домены.
  deny      message      = You are blocked !
            senders      = *@domain.ru : *@kengu.ru  : tendence.russian@* 
schizoid писал(а):а еще, фильры ексимовские циклы понимают? я что-то в доке не нашел :unknown:
Нет наверное, раз в доках ничего нет.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: system-filter зарезать некоторых адресатов

Непрочитанное сообщение schizoid » 2008-10-06 10:34:41

снкс огромное.
буду пробовать применить полезную информацию
ядерный взрыв...смертельно красиво...жаль, что не вечно...