The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Разрешить указание From: только своему логину или алиасу"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Разрешить указание From: только своему логину или алиасу"  +/
Сообщение от Тракторист (?), 26-Мрт-22, 15:40 
Товарищи, здравствуйте!

Подскажите пожалуйста, как в связке 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.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Тракторист (?), 26-Мрт-22, 15:55   +/
Сразу, чтобы помидорами не закидывали: Не client_restrictions, а sender_restrictions :)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Тракторист (?), 26-Мрт-22, 16:45   +/
> Сразу, чтобы помидорами не закидывали: Не client_restrictions, а sender_restrictions
> :)

В общем я так понял в процессе изучения вопроса - это делать надо с помощью smtpd_policy.
Например на базе видимо perl'а можно это набросать. Осталось только это сделать, или в современном postfix'е есть позможность указания mysql проверки по двум аргументам сразу? Т.е. чтобы указать ему проверку при помощи запроса в который подставятся $from и $login?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #3

3. Сообщение от Тракторист (?), 26-Мрт-22, 17:54   +/
Короче решил:
main.cf
smtpd_sender_login_maps = mysql:$base_directory/mysql/sender_logins.cf

mysql/sender_logins.cf
hosts   = unix:/var/mysql/mysql.sock
user    = postuser
password= postpass
dbname  = postdbname

query   = SELECT        aa.goto
          FROM          alias   aa
          JOIN          domain  bb ON bb.domain=aa.domain
          WHERE aa.address='%s'
            AND aa.active=1


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру