Esse comportamento é esperado. O DMARC requer que pelo menos um dos SPF ou DKIM passe nos testes de autenticação e alinhamento. As mensagens encaminhadas não passarão na autenticação SPF; no entanto, a maioria das mensagens encaminhadas corretamente passará pela autenticação DKIM (desde que os elementos assinados da mensagem não sejam alterados).
Garantir que suas mensagens sejam assinadas corretamente usando o DKIM permitirá que as mensagens encaminhadas passem nos testes de alinhamento do DMARC e sejam entregues na caixa de entrada do destinatário, apesar da falha da autenticação SPF devido ao encaminhamento.
Para obter mais informações, consulte Problemas de interoperabilidade entre autenticação de mensagens, relatórios e conformidade com base em domínio (DMARC) e fluxos de e-mails indiretos .
Eu também sugiro mudar de '~ all' para 'all' se você tiver certeza de ter identificado todos os remetentes válidos em seu registro SPF. '~ all' indica que seu domínio está 'em transição' (essencialmente testando) e pode não ter identificado todas as fontes válidas em seu registro SPF, enquanto '-all' indica que você 'transitou' (teste concluído) qualquer remetente não listado é suspeito.
Como você publicou uma política de 'p = quarentena', talvez esteja recebendo relatórios forenses em sua caixa de correio 'ruf = mailto: ...'; O exame desses relatórios forenses deve fornecer informações adicionais sobre a causa do desalinhamento (provavelmente o encaminhamento). Se este for o caso, você deve se sentir confiante em mudar para uma política de 'p = rejeitar'.
Continue em direção a uma política SPF de '-all' e uma política DMARC de 'p = reject' (o objetivo final); nada menos deixa seu domínio desprotegido.