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

Exim и авторизированные списки рассылок

Добавлено: 2012-08-15 12:06:56
Tspider
Установил, сконфигурил, затюнил Exim. Все что надо подкрутил - бегает все великолепно. Но столкнулся недавно с просьбой сделать возможность рассылать от избранных пользователей письма по группам рассылок.
У каждого такого пользователя есть своя группа, это списки партнеров, за которые каждый отвечает. Но оставить как есть просто создать листы рассылок и вкрутить в aliases не катит, не дай бог где похакают и начнется отправка спама.
Каким должно быть правило ACL в котором бы при попытке отправить письмо на один из списков проверялся адрес отправителя письма и сопоставление с адресом рассылки, можно ему туда писать или нет.

Как вариант желаю создать некий файл в котором бы лежало
pupkin@domen.com list1@domen.com
vasya@domen.com list2@domen.com

Ну и соответственно никто иной, даже авторизированный не имеет права отправки писем на какой-либо list@ если он не находится в строке напротив.
Я конечно видел доку по ACL и вроде понимаю частично как и что, но скорее понимаю в сторону общих проверок. А так чтобы подобного рода проверку состряпать - ну чет никак (

Прошу помощи.

Re: Exim и авторизированные списки рассылок

Добавлено: 2012-08-15 12:25:02
TSpider
Отвечаю сам же ) Возможно кому-то пригодится.
Есть потрясающая статья в которой просто и доступно все объяснили. http://www.creative-e.net/index.php?opt ... &Itemid=71
Для не англочитателей поясню:

В Exim есть потрясная штука как system filters.

обычным правилом делается просто проверка кто отправляет и на кого отправляет и если этот кто-то не тот кто надо - отправлять в /dev/null

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

if
$header_to: contains "list@domain.tld"
and not $header_from: contains "pupkin@domain.tld"
then
save "/dev/null" 660
endif

Re: Exim и авторизированные списки рассылок

Добавлено: 2012-08-15 13:20:45
TSpider
Еще одно дополнение. Точнее - улучшение

Еще дополнение для желающих как улучшить данный момент

Можно после

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

save "/dev/null" 660
Дописать

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

mail
from robot@domain.tld
to $sender_address
subject "Mail Reject / Mail ID $message_id"
text "Your email with ID: $message_id was rejected. You are not allowed to send mail for address $header_to"
Что вернет сообщение отправителю и расскажет что ему запрещено