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

Исходное сообщение
"EXIM 2 группы пользователей"

Отправлено serg , 02-Май-11 17:13 
Можно ли на EXIM организовать 2 группы пользователей, в которой:
1 группа может отправлять письма на любые домены
2 группа может отправлять письма лишь в своем домене
Можно кусочек конфига? База пользователей хранится в mysql.
Спасибо заранее.

Содержание

Сообщения в этом обсуждении
"EXIM 2 группы пользователей"
Отправлено DeadLoco , 02-Май-11 19:11 
> Можно ли на EXIM организовать 2 группы пользователей, в которой:
> 1 группа может отправлять письма на любые домены
> 2 группа может отправлять письма лишь в своем домене
> Можно кусочек конфига? База пользователей хранится в mysql.
> Спасибо заранее.

acl_rcpt:
....
defer domains = ! +local_domains
      condition = ${lookup{$sender_address}wildlsearch{/usr/local/etc/exim/black.lst}{yes}{no}}
....


----- black.lst ------------
vasya@domain.tld
petya@domain.tld
masha@domain.tld
....


"EXIM 2 группы пользователей"
Отправлено serg , 02-Май-11 20:27 
Спасибо за ответ.
В базе в табличке users я добавил дополнительное поле type (E-external, I-internal ), можно ли исходя из значения этого поля фильтровать?


>[оверквотинг удален]
> acl_rcpt:
> ....
> defer domains = ! +local_domains
>       condition = ${lookup{$sender_address}wildlsearch{/usr/local/etc/exim/black.lst}{yes}{no}}
> ....
> ----- black.lst ------------
> vasya@domain.tld
> petya@domain.tld
> masha@domain.tld
> ....


"EXIM 2 группы пользователей"
Отправлено DeadLoco , 03-Май-11 00:05 
> можно ли исходя из значения этого поля фильтровать?

http://www.exim.org/exim-html-current/doc/html/spec_html/ch0...


"EXIM 2 группы пользователей"
Отправлено serg , 03-Май-11 15:25 
не срабатывает в таком виде

>[оверквотинг удален]
> acl_rcpt:
> ....
> defer domains = ! +local_domains
>       condition = ${lookup{$sender_address}wildlsearch{/usr/local/etc/exim/black.lst}{yes}{no}}
> ....
> ----- black.lst ------------
> vasya@domain.tld
> petya@domain.tld
> masha@domain.tld
> ....


"EXIM 2 группы пользователей"
Отправлено DeadLoco , 03-Май-11 15:34 
>[оверквотинг удален]
>> acl_rcpt:
>> ....
>> defer domains = ! +local_domains
>>       condition = ${lookup{$sender_address}wildlsearch{/usr/local/etc/exim/black.lst}{yes}{no}}
>> ....
>> ----- black.lst ------------
>> vasya@domain.tld
>> petya@domain.tld
>> masha@domain.tld
>> ....

Поскольку кондишн и файл с паттернами вне подозрений, у вас экзистенциальные проблемы с директивой local_domains. А это означает, что читать-перечитывать доку по экзиму и много думать все-таки придется.


"EXIM 2 группы пользователей"
Отправлено serg , 03-Май-11 17:08 
> Поскольку кондишн и файл с паттернами вне подозрений, у вас экзистенциальные проблемы
> с директивой local_domains. А это означает, что читать-перечитывать доку по экзиму
> и много думать все-таки придется.

спасибо последовал совету.

Вот такой конфиг пошел:
deny message  = RESTRICTED EXTERNAL MAIL FOR '${sender_address}'
condition = ${if eq{'E'}{${lookup mysql{SELECT '''E''' FROM users WHERE login='${local_part}'}}}}

А такой не хочет:
deny message  = RESTRICTED EXTERNAL MAIL FOR '${sender_address}'
condition = ${if eq{'E'}{${lookup mysql{SELECT type FROM users WHERE login='${local_part}'}}}}

Пробовал взять type и в кавычки и через ''||type||''

не идет. Подскажите люди доюрые )