Страница 1 из 1

Вопрос по секции acl_check_mime

Добавлено: 2010-07-02 12:06:41
uvetrom
Ситуация такая, требуется сделать проверку:
Например есть два почтовых ящика 1@test.ru и 2@.test.ru(на самом деле ящиков порядка 40 штук) все на почтовом сервере exim/dovecote

Хочу сделать что бы с ящика 1 нельзя было писать на ящик (например) admin@mail.ru, а с ящика 2 можно.

Придумал такую конструкцию:

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

acl_check_mime:
warn decode = default
deny message = Blacklisted
    condition = ${if !match {$header_from:}{2@test.ru}{1}{0}}
    condition = ${if match {$header_to:}{admin@mail.ru}{1}{0}}
accept
К сожелению, писать могут все, у меня подозрение, что какая то проблема с переменной $header_to

Подскажете?

Re: Вопрос по секции acl_check_mime

Добавлено: 2010-07-02 12:50:09
_FreeBSD
хидер он же раскроется не адресом, а раскроется содержимым строки этого заголовка.

ну, вот например такой заголовок:

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

From: =?UTF-8?B?ItCyINCQLtiI=?= <et@freebsd.org>
на выходе помимо адреса мне кажеца будет все остальное.

Re: Вопрос по секции acl_check_mime

Добавлено: 2010-07-02 12:57:51
uvetrom
Хорошо, я понял ошибку.... а кто подскажет как сделать лучше?

Re: Вопрос по секции acl_check_mime

Добавлено: 2010-07-02 13:17:17
_Менделеев
первое что пришло на ум.

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

1) Теперь берешь и добавляешь еще одно поле для таблицы mailbox, например, DenyToDomain,
2) и для каждого требуемого ящика заносишь запретные домены. Если запретных доменов будет больше одного, я бы тебе порекомендовал сразу задавать их в понятном для Exim формате, вида:
mail.ru:rambler.ru ....
3) ну, и в acl_rcpt делаешь:
3.1. делаешь выборку DenyToDomain из mailbox где username=$sender_address
3.2. ищешь совпадения между ${domain} и тем, что находится в DenyToDomain
3.3. если совпадает - блочишь

как-то так пришло на ум...

Re: Вопрос по секции acl_check_mime

Добавлено: 2010-07-02 13:43:23
uvetrom
Как не странно, но мне кажется что можно как то проще сделать, нежеле ковырять БД и половину конфига...

Re: Вопрос по секции acl_check_mime

Добавлено: 2010-07-02 15:04:14
uvetrom
Если кому то будет полезно :

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

acl_check_rcpt:
deny senders = ! 2@test.ru
     message = restricted
     domains = mail.ru:bk.ru

Re: Вопрос по секции acl_check_mime

Добавлено: 2010-07-02 15:59:04
_9 мая
половину конфига не надо было ковырять.
uvetrom писал(а):Если кому то будет полезно :

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

acl_check_rcpt:
deny senders = ! 2@test.ru
     message = restricted
     domains = mail.ru:bk.ru
ну, то же самое что я тебе порекомендовал, только без замутов с БД.
Замут с БД дал бы тебе гибкое решение, а так ты для всех мыл, перечисленных в senders запрещаешь домены из domains.

Я же не знал что тебе конкретно надо...