Cenário: Estou testando um servidor SMTP em minha rede local e agora preciso verificar se ele pode enviar e-mails para a rede. O problema é, claro, que estou saindo pelo meu ISP, e meu endereço IP fixo atribuído ao ISP não está no DNS (eu poderia colocá-lo no DNS, é claro, mas não consegui definir a pesquisa inversa, então não ajudaria).
Para contornar isso, tenho o Postfix configurado em um servidor remoto e estou tentando retransmitir minhas mensagens de saída por meio desse servidor para um destinatário local nesse servidor. Parece que deve ser simples, mas obviamente estou perdendo alguma coisa. Esta é uma nova configuração do Postfix 3.6.4 e main.cf
contém:
mynetworks = 127.0.0.0/8, 93.184.216.34/32
smtpd_helo_restrictions = permit_mynetworks, ...
smtpd_client_restrictions = permit_mynetworks, ...
93.184.216.34
é meu endereço atribuído pelo ISP e minha rede local é dummy-domain.com
. Quando tento enviar um email para o servidor, recebo uma falha e o arquivo de log do servidor diz:
Oct 16 13:24:42 titan postfix/smtpd[19103]: connect from my-isp[93.184.216.34]
Oct 16 13:24:42 titan postfix/smtpd[19103]: NOQUEUE: reject: RCPT from my-isp[93.184.216.34]: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found; from=<[email protected]> to=<a-local-recipient-address> proto=ESMTP helo=<dummy-domain.com>
Oct 16 13:24:42 titan postfix/smtpd[19103]: lost connection after RCPT from my-isp[93.184.216.34]
postconf
confirma mynetworks
, mas também diz isso:
compatibility_level = 0
smtpd_relay_restrictions = ${{$compatibility_level} <level {1} ? {} : {permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination}}
O que eu entendo, talvez incorretamente, dizer que o padrão smtpd_relay_restrictions
não inclui , ao contráriopermit_mynetworks
da documentação. Então eu explicitamente defino isso em main.cf
:
smtpd_relay_restrictions = permit_mynetworks
Reiniciado, E postconf
agora relata exatamente a linha acima. No entanto, ainda não funciona, e o arquivo de log do servidor ainda mostra a mesma mensagem. Alguma ideia? E como faço postconf
para me mostrar as configurações reais atuais, sem ter que me preocupar com o nível de compatibilidade? Obrigado.
EDITAR
de acordo com a resposta do anx, verifica-se que smtpd_client_restrictions = permit_mynetworks
("Permitir a solicitação quando o endereço IP do cliente corresponder a qualquer rede ou endereço de rede listado em $ mynetworks") não é suficiente. Você também precisa
smtpd_sender_restrictions = permit_mynetworks
com permit_mynetworks
antes reject_unknown_sender_domain
. Isso tudo funciona sem nenhuma alteração /etc/hosts
ou necessidade de adicionar nada ao DNS.
Este não tem nada a ver com seus servidores de e-mail enviando IP ou sua associação reversa ausente. Você está usando um endereço de remetente com um domínio que não pode ser encontrado. Procure por uma declaração como
reject_unknown_sender_domain
em seu smtpd_*_restrictions e inclua algo que remova essa restrição para suas necessidades. Provavelmente é osmtpd_sender_restrictions
que você precisa editar para prosseguir além desta mensagem. Ou apenas configure um endereço como remetente que realmente pode ser encontrado no DNS (novamente, isso é independente se o nome do host do servidor que envia as mensagens pode ser encontrado no DNS).