A configuração padrão do meu servidor de e-mail usa a reject_authenticated_sender_login_mismatch
configuração de smtpd_sender_restrictions
para evitar que um usuário arbitrário A envie e-mail como usuário B (no campo DE). Eu percebo que esta é uma boa política, porque mesmo uma conta de usuário comprometida basicamente abriria meu servidor de e-mail como um retransmissor de spam.
No entanto, gostaria de permitir que usuários específicos (por meio de uma lista de permissões) enviem e-mails como qualquer usuário. Por exemplo, gostaria que meu servidor da Web se autenticasse como, [email protected]
mas pudesse enviar e-mail em nome de [email protected]
, [email protected]
, etc.
Todos os outros usuários autenticados só devem poder enviar e-mail como eles próprios.
Acho que estou no caminho certo com o /etc/postfix/sender-login-maps.cf
arquivo, que atualmente contém:
dbpath=/home/user-data/mail/users.sqlite
query = SELECT permitted_senders
FROM (
SELECT permitted_senders, 0 AS priority
FROM aliases
WHERE source='%s'
AND permitted_senders IS NULL
UNION
SELECT email as permitted_senders, 2 AS priority
FROM users
WHERE email='%s'
)
ORDER BY priority LIMIT 1;
Não tenho certeza de como modificar isso para realizar o que desejo.
Eu descobri como modificar a consulta
/etc/postfix/sender-login-maps.cf
para permitir que qualquer usuário com privilégios de "admin" (conforme definido nausers.sqlite
tabela) envie e-mail como qualquer outro usuário no mesmo domínio:Então, basicamente, se
[email protected]
for definido como administrador (o que você pode fazer no banco de dados do usuário ou por meio da interface de configuração da conta),[email protected]
será permitido enviar e-mails como[email protected]
,[email protected]
, etc. Isso parece uma política razoável para mim.