Estou tendo muita dificuldade em fazer o contêiner mail-receiver funcionar de forma confiável. Cheguei ao ponto em que ele funciona como pretendido para respostas enviadas da minha conta pessoal do GMail, mas rejeita e-mails enviados do aplicativo web Office 365 do meu empregador. Não consigo dizer se é um problema de configuração da minha parte ou algo estranho sobre como meu empregador roteia e-mails.
Sou novo em analisar a saída de ./launcher logs mail-receiver, mas acho que este trecho demonstra a sequência típica de eventos durante uma entrega falha:
Jan 27 17:19:13 myvps-mail-receiver postfix/spawn[363]: warning: command /usr/bin/policyd-spf exit status 120
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: warning: problem talking to server private/policyd-spf: Connection timed out
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: NOQUEUE: reject: RCPT from mail-server.employer.tld[XX.XXX.XX.XX]: 451 4.3.5 <4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld>: Recipient address rejected: Server configuration problem; from=<me@employer.tld> to=<4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld> proto=ESMTP helo=<mail-server.employer.tld>
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld" from client "mail-server.employer.tld[XX.XXX.XX.XX]"
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: disconnect from mail-server.employer.tld[XX.XXX.XX.XX] ehlo=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=4/6
<22>Jan 27 17:20:56 policyd-spf[367]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld <22>Jan 27 17:20:56 policyd-spf[367]: Traceback (most recent call last):
Jan 27 17:20:56 myvps-mail-receiver postfix/spawn[366]: warning: command /usr/bin/policyd-spf exit status 120
Parece que o daemon de política SPF não está funcionando com base nas primeiras, segundas e últimas linhas. Não consigo encontrar nada diagnóstico sobre por que ele não está funcionando. Também não tenho certeza se é necessário. E-mails do GMail parecem passar sem problemas.
Estou auto-hospedando em um VPS com Cloudflare DNS e e-mail transacional da Brevo.
Também notei muitos e-mails de fontes do Microsoft 365 com devoluções imprevisíveis por um longo tempo, o que tem sido muito irritante, já que tantas empresas o utilizam. Até agora, não tive sorte em rastrear a origem dos problemas.
Talvez haja um problema com o mail-receiver, como você sugere; ficaria muito satisfeito se isso fosse investigado!
Não tenho certeza se a culpa é da minha configuração, do meu empregador ou do aplicativo receptor de e-mail . Eu definitivamente apreciaria qualquer sugestão sobre como extrair mais informações do contêiner.
Aqui está a resposta ao colar a totalidade dessas linhas do log em ask.Discourse.com…
Solução de problemas de Postfix e Policyd-SPFAI
denvergeeks:
o que este erro indica:
Jan 27 17:19:13 myvps-mail-receiver postfix/spawn[363]: warning: command /usr/bin/policyd-spf exit status 120
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: warning: problem talking to server private/policyd-spf: Connection timed out
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: NOQUEUE: reject: RCPT from mail-server.employer.tld[XX.XXX.XX.XX]: 451 4.3.5 <4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld>: Recipient address rejected: Server configuration problem; from=me@employer.tld to=<4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld> proto=ESMTP helo=<mail-server.employer.tld>
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient “4eb16fb194e4f56c53b738dd8b3f3411@reply.my_domain.tld” from client “mail-server.employer.tld[XX.XXX.XX.XX]”
Jan 27 17:20:21 myvps-mail-receiver postfix/smtpd[356]: disconnect from mail-server.employer.tld[XX.XXX.XX.XX] ehlo=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=4/6
Jan 27 17:20:56 policyd-spf[367]: : prepend Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=XX.XXX.XX.XX; helo=mail-server.employer.tld; envelope-from=me@employer.tld; receiver=reply.my_domain.tld
Jan 27 17:20:56 policyd-spf[367]: Traceback (most recent call last):
Jan 27 17:20:56 myvps-mail-receiver postfix/spawn[366]: warning: command /usr/bin/policyd-spf exit status 120
DiscourseHelper:
Pesquisando
Pesquisando por: postfix policyd-spf exit status 120 server configuration problem connection timed out reason and solution
Parece que seus logs de erro indicam problemas com postfix e policyd-spf. Especificamente:
Status de Saída 120 para policyd-spf:
Isso geralmente aponta para um problema na configuração ou nas permissões do policyd-spf. Policyd-SPF é usado para validar e-mails recebidos com base no Sender Policy Framework (SPF). O status de saída 120 geralmente significa um erro de aplicação ou incapacidade de processar os requisitos de validação SPF.
Tempo Limite de Conexão com private/policyd-spf:
Isso ocorre quando o postfix não consegue se comunicar com o serviço policyd-spf, provavelmente devido a:
Caminho ou configuração inválida para o socket de comunicação.
O processo spawn para policyd-spf não está configurado corretamente ou falha ao inicializar.
Rejeição RCPT com Status 451:
O endereço de e-mail do destinatário é rejeitado devido a um “problema de configuração do servidor”. Isso sugere que, devido à falha na validação SPF, o postfix não consegue aceitar o destinatário.
Etapas para Resolver:
Verifique a Configuração do policyd-spf:
Certifique-se de que as configurações relacionadas ao SPF em /etc/postfix/main.cf (ou equivalente) estejam apontando para o serviço de política correto:
policy-spf unix - n n - - spawn
user=nobody argv=/usr/bin/policyd-spf
Se o caminho do comando argv (/usr/bin/policyd-spf) estiver incorreto, ajuste-o.
Serviço e Logs:
Reinicie o serviço policyd-spf:
systemctl restart policyd-spf
Revise logs adicionais para policyd-spf para identificar problemas específicos:
journalctl -u policyd-spf
Configuração do Postfix:
Certifique-se de que o postfix esteja usando corretamente o policyd-spf. Em /etc/postfix/master.cf, valide:
smtp inet n - n - - smtpd
-o smtpd_recipient_restrictions=permit_mynetworks,reject_unauth_destination,check_policy_service=unix:private/policyd-spf
Verifique as permissões de arquivo para /etc/postfix e os caminhos do socket.
Teste o SPF:
Tente validar manualmente um registro SPF usando ferramentas externas ou via CLI (comando dig):
dig +short txt seu_dominio.com
Certifique-se de que seus registros SPF de e-mail estejam corretos.
Comunicação do Socket:
Verifique se o socket private/policyd-spf existe e é acessível:
ls /var/spool/postfix/private/policyd-spf
# Ajuste as permissões se o arquivo existir:
chown postfix:postfix /var/spool/postfix/private/policyd-spf
chmod 770 /var/spool/postfix/private/policyd-spf
Recrie ou recrie o arquivo de socket Unix se estiver faltando.
Erros de Configuração:
Revise os parâmetros padrão em /etc/policyd-spf/policyd-spf.conf e confirme a correção em relação ao seu caso de uso.
Se você continuar enfrentando problemas além das alterações de configuração, entre em contato com seu provedor de hospedagem ou com o suporte do Discourse para garantir a integridade do servidor e as configurações de conectividade corretas. Você também pode explorar mais documentação externa sobre problemas de SPF ou fóruns da comunidade postfix/policyd.
E aqui está um link para a resposta do Perplexity.ai…
Tentei o que pude com base nessas respostas, mas nada parece resolver o problema. Acho que o mais útil seria se alguém pudesse me dizer como obter o conteúdo dos tracebacks do Python de policyd-spf nos arquivos de log. Alguma sugestão? Isso é apenas uma pista falsa?