Привет!

Создать дополнительную таблицу, например:
senders: id, sender, aliases_id

Добавить в роутер параметр: 
senders = ${lookup mysql{SELECT sender FROM senders, aliases WHERE 
local_part='${local_part}' AND
domain='${domain}' AND senders.alias_id == aliases.id AND senders.sender =
$sender_address}}

Запрос примерный, он отражает только суть. :) Нужно проверять!!!


On Thu, 03 Oct 2013 18:05:49 +0300
Павел Завада <[email protected]> пишет:

>Добрый день.
>
>Имеется почтовый сервер с exim.
>Работает в связке с mysql базой данных.
>
>Роутер для почтовых алиасов:
>
>system_aliases:
>   driver = redirect
>   allow_fail
>   allow_defer
>   file_transport = address_file
>   pipe_transport = address_pipe
>   data = ${lookup mysql{SELECT recipients FROM aliases WHERE 
>local_part='${local_part}' AND domain='${domain}'}}
>
>Делает выборку из БД, таблицы aliases, смотрит на адрес назначения 
>письма и достаёт получателей.
>Им и направляет письмо, полученное на определённый алиас.
>
>Появилась задача.
>Нужно сделать так, чтобы доставка на определённый алиас была 
>контролируема, нужно фильтровать письма на основании того - кому 
>разрешено отправлять на конкретный алиас, а кому - нет. В рамках данной 
>задачи приемлемым фильтрацию только по from - адресу отправителя, 
>осознавая, что адрес можно подменить и т.д, и валидацио отправителя 
>осуществлять не будем.
>
>К примеру, в таблице aliases добавить поле accept_from типа text, в 
>котором вписывать те адреса (их может быть несколько, указываются через 
>запятую в поле), которым разрешено отправлять письма на тот или иной алиас.
>
>Транспорты:
>
>local_delivery:
>   driver = appendfile
>   check_string = ""
>   create_directory
>   delivery_date_add
>   directory = /mail/$domain/$local_part
>   directory_mode = 770
>   envelope_to_add
>   group = mail
>   maildir_format
>   maildir_tag = ,S=$message_size
>   message_prefix = ""
>   message_suffix = ""
>   mode = 0660
>   quota = ${lookup mysql{SELECT quota FROM users WHERE 
>login='${local_part}' AND domain='${domain}'}{${value}M}}
>   quota_size_regex = S=(\d+)$
>   quota_warn_threshold = 75%
>   return_path_add
>
>address_pipe:
>   driver = pipe
>   return_output
>
>address_file:
>   driver = appendfile
>   delivery_date_add
>   envelope_to_add
>   return_path_add
>
>
>Просьба порекомендовать - каким образом это можно сделать.
>Если нужны дополнительные данные из конфигурации exim, могу предоставить.
>Спасибо.
>


--
Best regards,
Aleksey Tsvetkov
System Administrator
Company Grand Vision
tel. +7(495)933-39-79, ext. 184

_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users

Ответить