URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91073
[ Назад ]

Исходное сообщение
"Postfix, правила для почты (не спам-фильтр)"

Отправлено optro , 03-Мрт-11 11:31 
Исходные данные:
ubuntu 10.04.1 server, postfix (virtual users, без sql), dovecot, getmail (MDA_external=/usr/sbin/sendmail)

Никакие правила не настроены.

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

Например:
Если в поле "From" есть *example.com
И в поле "To" есть ivan@example2.com
То REJECT


Нужен конкретный пример реализации со всеми подробностями:
- Нужно ли что-то писать в конфиг getmail или еще куда-то
- Что записать в main.cf
- Как называется конфигурационный файл с правилами для данного примера
- Где почитать, как он обрабатывается
- Что написать в этот конфигурационный файл, чтобы пример заработал
- На каком этапе правила вступают в силу (какая очередь и т.д.)
- Можно ли вставлять правила на произвольном этапе

---
От манов уже мозг вскипел, поэтому прошу рабочий пример, от которого можно оттолкнуться. Опыт небольшой.


Содержание

Сообщения в этом обсуждении
"Postfix, правила для почты (не спам-фильтр)"
Отправлено vel , 03-Мрт-11 12:03 
ничего криминального в sql я не вижу... наоборот удобно....
оттолкнуться можно для начала от этого:
http://sys-adm.org.ua/mail/mail-howto-p1.php
http://sys-adm.org.ua/mail/mail-howto-p2.php
хотя операционка и другая, но суть настройки софта от этого не меняется...
Плюс купить книжку "Postfix. Подробное руководство." Автор: Ральф Гильдебрандт, Патрик Кеттер. Для начинающих будет нормальным помощником.

"Postfix, правила для почты (не спам-фильтр)"
Отправлено optro , 03-Мрт-11 12:13 
> ничего криминального в sql я не вижу... наоборот удобно....
> оттолкнуться можно для начала от этого:
> http://sys-adm.org.ua/mail/mail-howto-p1.php
> http://sys-adm.org.ua/mail/mail-howto-p2.php
> хотя операционка и другая, но суть настройки софта от этого не меняется...
> Плюс купить книжку "Postfix. Подробное руководство." Автор: Ральф Гильдебрандт, Патрик
> Кеттер. Для начинающих будет нормальным помощником.

Книга есть. По ней понять, как реализовать данный пример, нельзя (или я не нашел).
Там описаны простые правила типа header_checks с одним аргументом.

Не понял, при чем тут sql. Система уже настроена так, как настроена.

Мне нужен ответ по реализации указанного примера:

"Если в поле "From" есть *example.com
И в поле "To" есть ivan@example2.com
То REJECT"


"Postfix, правила для почты (не спам-фильтр)"
Отправлено Etch , 03-Мрт-11 18:54 
> "Если в поле "From" есть *example.com
> И в поле "To" есть ivan@example2.com
> То REJECT"

В main.cf:
header_checks = pcre:/etc/postfix/header_checks.pcre

В файле header_checks.pcre что-то вроде этого:
/From: .*?@example\.com.*?\nTo: .*?ivan@example2\.com/m   REJECT


"Postfix, правила для почты (не спам-фильтр)"
Отправлено Etch , 03-Мрт-11 19:02 
Проверить правило можно так:

postmap -q "$(cat файл_с_письмом.eml)" pcre:/etc/postfix/header_checks.pcre


"Postfix, правила для почты (не спам-фильтр)"
Отправлено optro , 04-Мрт-11 22:00 
> В файле header_checks.pcre что-то вроде этого:
> /From: .*?@example\.com.*?\nTo: .*?ivan@example2\.com/m   REJECT

Большое спасибо.

Если не сложно, объясните назначение символов в этой записи:
зачем нужен "/" перед "From"
".*?" перед "@example\.com" и ".*?\n" после
"/m" после "ivan@example2\.com"
И почему нужно ставить слэши перед ".com"

Понимаю, что все это есть в книге и мануалах, но раз я так и не разобрался до сих пор, прошу помощи на форуме.


"Postfix, правила для почты (не спам-фильтр)"
Отправлено ALex_hha , 04-Мрт-11 23:35 
> Если не сложно, объясните назначение символов в этой записи:
> зачем нужен "/" перед "From"

http://www.postfix.org/pcre_table.5.html

The general form of a PCRE table is:

/pattern/flags result
When pattern matches the input string, use the corresponding result value.

читаем офф доку

> ".*?" перед "@example\.com" и ".*?\n" после
> "/m" после "ivan@example2\.com"
> И почему нужно ставить слэши перед ".com"

потому что символ . имеет спец назначение в pcre, поэтому и надо его экранировать

> Понимаю, что все это есть в книге и мануалах, но раз я
> так и не разобрался до сих пор, прошу помощи на форуме.

значит не ту профессию выбрал ;)


"Postfix, правила для почты (не спам-фильтр)"
Отправлено ALex_hha , 04-Мрт-11 23:37 
> Например:
> Если в поле "From" есть *example.com
> И в поле "To" есть ivan@example2.com
> То REJECT

средствми postfix никак, так как при анализе заголовоков он просамтривает одну строку за раз


"Postfix, правила для почты (не спам-фильтр)"
Отправлено optro , 04-Мрт-11 23:48 
>> Например:
>> Если в поле "From" есть *example.com
>> И в поле "To" есть ivan@example2.com
>> То REJECT
> средствми postfix никак, так как при анализе заголовоков он просамтривает одну строку
> за раз

Спасибо за ответы.
Какими средствами можно добиться такого результата?


"Postfix, правила для почты (не спам-фильтр)"
Отправлено Etch , 05-Мрт-11 14:29 
>> Например:
>> Если в поле "From" есть *example.com
>> И в поле "To" есть ivan@example2.com
>> То REJECT
> средствми postfix никак, так как при анализе заголовоков он просамтривает одну строку
> за раз

Не верно, есть режим мультистрок в pcre_table (см. флаг m).