Исходные данные:
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
- Как называется конфигурационный файл с правилами для данного примера
- Где почитать, как он обрабатывается
- Что написать в этот конфигурационный файл, чтобы пример заработал
- На каком этапе правила вступают в силу (какая очередь и т.д.)
- Можно ли вставлять правила на произвольном этапе---
От манов уже мозг вскипел, поэтому прошу рабочий пример, от которого можно оттолкнуться. Опыт небольшой.
ничего криминального в sql я не вижу... наоборот удобно....
оттолкнуться можно для начала от этого:
http://sys-adm.org.ua/mail/mail-howto-p1.php
http://sys-adm.org.ua/mail/mail-howto-p2.php
хотя операционка и другая, но суть настройки софта от этого не меняется...
Плюс купить книжку "Postfix. Подробное руководство." Автор: Ральф Гильдебрандт, Патрик Кеттер. Для начинающих будет нормальным помощником.
> ничего криминального в 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"
> "Если в поле "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
Проверить правило можно так:postmap -q "$(cat файл_с_письмом.eml)" pcre:/etc/postfix/header_checks.pcre
> В файле header_checks.pcre что-то вроде этого:
> /From: .*?@example\.com.*?\nTo: .*?ivan@example2\.com/m REJECTБольшое спасибо.
Если не сложно, объясните назначение символов в этой записи:
зачем нужен "/" перед "From"
".*?" перед "@example\.com" и ".*?\n" после
"/m" после "ivan@example2\.com"
И почему нужно ставить слэши перед ".com"Понимаю, что все это есть в книге и мануалах, но раз я так и не разобрался до сих пор, прошу помощи на форуме.
> Если не сложно, объясните назначение символов в этой записи:
> зачем нужен "/" перед "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, поэтому и надо его экранировать
> Понимаю, что все это есть в книге и мануалах, но раз я
> так и не разобрался до сих пор, прошу помощи на форуме.значит не ту профессию выбрал ;)
> Например:
> Если в поле "From" есть *example.com
> И в поле "To" есть ivan@example2.com
> То REJECTсредствми postfix никак, так как при анализе заголовоков он просамтривает одну строку за раз
>> Например:
>> Если в поле "From" есть *example.com
>> И в поле "To" есть ivan@example2.com
>> То REJECT
> средствми postfix никак, так как при анализе заголовоков он просамтривает одну строку
> за разСпасибо за ответы.
Какими средствами можно добиться такого результата?
>> Например:
>> Если в поле "From" есть *example.com
>> И в поле "To" есть ivan@example2.com
>> То REJECT
> средствми postfix никак, так как при анализе заголовоков он просамтривает одну строку
> за разНе верно, есть режим мультистрок в pcre_table (см. флаг m).