Postfix: Como usar reject_sender_login_mismatch ao usar usuários virtuais do MySQL?

1

Eu quero forçar os remetentes a usar um endereço de remetente do envelope que seja idêntico ao nome de usuário de login do SASL. De o Postfix SASL README eu vejo que eu deveria listar, na opção smtpd_sender_login_maps , uma tabela de hash que tem duas colunas idênticas e listar todos os e-mails válidos e também especificar reject_sender_login_mismatch in smtpd_recipient_restrictions .

Mas eu tenho a tabela de domínios e usuários virtuais do MySQL, e as coisas não são assim. Para usuários, tenho o seguinte:

smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf

Onde o conteúdo de mysql-virtual_mailboxes.cf é assim:

user = dbuser
password = dbpass
dbname = mail
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
hosts = dbhost

Isso retorna algo como domainname.com/userpart/ para o email [email protected] . Isso não está listado nos formatos permitidos em a documentação do Postfix .

Devo alterar a consulta para um formato de saída diferente ou posso apenas adicionar reject_sender_login_mismatch a smtpd_recipient_restrictions e a restrição funcionará? Estou tentando as seguintes opções:

smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, permit
smtpd_recipient_restrictions = permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_sender_login_mismatch, reject_unknown_sender_domain, permit
    
por JCCyC 10.01.2018 / 14:17

0 respostas