Страница 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.
Я же не знал что тебе конкретно надо...