Eu configurei um servidor Postfix com SMTP AUTH (STARTTLS na porta 587). Todos os meus usuários estão no domínio "example.org". Desejo fazer com que o endereço do remetente seja "[email protected]".
Aprendi que isso pode ser alcançado com as opções main.cf
smtpd_sender_restrictions = reject_sender_login_mismatch, ...
smtpd_sender_login_maps = hash:/etc/postfix/smtpd_sender_login_maps
com um arquivo login_maps como:
[email protected] a
[email protected] b
[email protected] c
...
(consulte também Bloquear endereço do remetente falsificando com SMPT AUTH ), mas isso significa que terei que editar o arquivo login_maps toda vez que tiver um novo usuário. Não preciso de um mapeamento tão flexível: ele sempre deve ser "[email protected]". Existe uma opção mais fácil?
sudo apt-get install postfix-pcre
. Talvez isso fosse óbvio para a maioria.$myhostname
variável de referência ?. Aqui você pode ver que Postfix é capaz de pesquisar a tabela de referência por parte do usuário do e-mail ...A regex mencionada na outra resposta corresponde à parte do usuário do endereço de email ( usuário logado no @ example.org). Aqui estão algumas informações adicionais.
Para usar o endereço de email completo como nome de usuário, use o seguinte regex (por exemplo, em
/etc/postfix/login_map
):Isso significa que seu nome de usuário é sempre o seu endereço de e-mail completo ( [email protected] ) - nenhum outro nome de usuário existente pode enviar a partir desse endereço - e você não precisa atualizar um arquivo de configuração Postfix adicional toda vez que adicione um usuário.
Isso pode ser usado em um servidor que possui vários domínios configurados. O usuário [email protected] só pode enviar a partir desse endereço, mas não a partir de [email protected] (usuário e email diferentes, pessoa diferente). O nome de usuário john.doe seria ambíguo nesse caso.
Além disso, dependendo da sua configuração, a configuração smtpd_sender_login_maps, que deve apontar para esse arquivo, pode estar no master.cf (em vez de main.cf). A documentação oficial do Dovecot possui o seguinte exemplo (se você estiver usando SASL / envio):
Neste exemplo, a configuração deve ser ajustada para apontar para o arquivo correto e usar regex ou (melhor) pcre como tipo. Especialmente se um arquivo chamado "virtual" já for usado para outra finalidade (por exemplo, para virtual_alias_maps, como mostrado em um exemplo oficial do Postfix ), outro arquivo deve ser usado para o mapeamento de login.
A partir de:
Para:
fonte
Você pode usar a combinação de regexp no cabeçalho, como mostrado aqui: http://www.akadia.com/services/postfix_uce.html ? Em seguida, você pode combinar com o regexp como [*@example.org] para garantir apenas o remetente de example.org.
fonte