Configurei meu servidor SMTP de e-mail Posfix no Ubuntu 16 e está funcionando. Eu costumava usar o servidor SMTP da minha empresa de hospedagem, mas prefiro usar o meu.
Estou enviando e-mail com Java Mail mas a diferença é que quando envio pela empresa de hospedagem e o endereço do destinatário está errado recebo:
com.sun.mail.smtp.SMTPAddressFailedException: 450 4.1.2: Endereço do destinatário rejeitado: Domínio não encontrado
Mas quando eu envio com o Postfix, nenhuma exceção é lançada. Eu verifico o log do Postfix e a mensagem é:
Ação: falhou Status: 5.4.4 Código de diagnóstico: X-Postfix; Host ou nome de domínio não encontrado. Erro de serviço de nomes para [email protected] type=AAAA: Host não encontrado
Mas isso nunca é propagado como exceção java.
Alguém tem ideia de como configurar o Postfix para se comportar da mesma maneira?
Obrigado, Hugo
Coloque antes
reject_unknown_recipient_domain
de , e/ou .smtpd_recipient_restrictions
permit_mynetworks
permit_sasl_authenticated
permit_tls_clientcerts
Se
reject_unknown_sender_domain
estiver faltando na configuração ou sepermit_*
aparecer antesreject_unknown_sender_domain
, o postfix permitirá que todos os remetentes do cliente que correspondam à regra de permissão enviem e-mail sem que o domínio do destinatário seja verificado. O Postfix aceitará o e-mail recebido, o colocará na fila e apenas notará que o domínio não existe quando tentar entregá-lo .... e, em seguida, devolverá a mensagem.Se
reject_unknown_sender_domain
aparecer primeiro, é verificado para todos os clientes, independentemente de corresponderem a umapermit_*
regra ou não, e o e-mail é rejeitado com um código 5xx.No postfix, a ordem das regras é sempre significativa.
Exemplo:
Se você tiver o seguinte em
main.cf
:adicione
reject_unknown_recipient_domain
em algum lugar antes daspermit
linhas, por exemplo:Se você ainda não tem uma
smtpd_recipient_restrictions
regra, adicione uma como:Você deve, no entanto, fazer mais pesquisas sobre a configuração do postfix.