Товарищи, здравствуйте!Подскажите пожалуйста, как в связке postfix + mysql virtual users указать ограничение при отсылке писем авторизованным пользователем (user@my.domain), чтобы в поле FROM у него могли быть указаны адреса только или его алиасов (типа SELECT 1 FROM alias WHERE address=%FROM% AND goto=%AUTH_LOGIN% для стандартной таблицы postfixadmin'а.)
Чтобы если есть алиас ivan.ivanov@my.domain указывающий на учётку dir@my.domain, то с этой учётки (dir@my.domain) могла рассылатося почта только если в поле FROM стоит или dir@my.domain или ivan.ivanov@my.domainА то правила в client_restrictions permit_sasl_authenticated - автоматически даёт позможность авторизованному пользователю вообще произвольный адрес в зоне my.domain указывать в поле FROM.
Сразу, чтобы помидорами не закидывали: Не client_restrictions, а sender_restrictions :)
> Сразу, чтобы помидорами не закидывали: Не client_restrictions, а sender_restrictions
> :)В общем я так понял в процессе изучения вопроса - это делать надо с помощью smtpd_policy.
Например на базе видимо perl'а можно это набросать. Осталось только это сделать, или в современном postfix'е есть позможность указания mysql проверки по двум аргументам сразу? Т.е. чтобы указать ему проверку при помощи запроса в который подставятся $from и $login?
Короче решил:
main.cfsmtpd_sender_login_maps = mysql:$base_directory/mysql/sender_logins.cf
mysql/sender_logins.cfhosts = unix:/var/mysql/mysql.sock
user = postuser
password= postpass
dbname = postdbnamequery = SELECT aa.goto
FROM alias aa
JOIN domain bb ON bb.domain=aa.domain
WHERE aa.address='%s'
AND aa.active=1