
Instalei o opendkim com postfix no Debian Wheezy. O correio enviado está recebendo assinaturas DKIM. As especificações de milter smtpd e não smtpd são as mesmas.
O e-mail recebido parece não ter sido verificado - em um cliente de e-mail não há cabeçalho Authentication-Results. Eu adicionei "AlwaysAddARHeader yes" à configuração do opendkim, mas não há diferença.
No log de correio, ao receber uma mensagem, entre todas as diversas entradas há duas do opendkim. O primeiro identifica o servidor e adiciona “não interno” (o que parece razoável quando se trata do Google). O segundo diz apenas "não autenticado". Mas não vejo nenhuma razão para que não seja autenticado! Onde posso procurar a solução?
Responder1
Parece que ,no_milters
a opção no destino do filtro de conteúdo impede a execução do milter duas vezes - antes e depois do filtro de conteúdo.
Você pode remover ,no_milters
a opção. O resultado é o seguinte:
- opendkim agora pode verificar e-mails
- milter é executado duas vezes em e-mails enviados, então você tem 2 assinaturas dkim em seus e-mails
Se você voltar ,no_milters
, o opendkim ainda poderá assinar e-mails, mas perderá a capacidade de verificá-los. Alguns ajustes no amavis mostraram que o amavis usa o mesmo id que o opendkim, o que não é uma surpresa por causa dos padrões que ambos obedecem. Dado que o amavis substitui o cabeçalho opendkim adicionado após a verificação (na verdade, ele ainda verifica as mensagens) por um vazio, parece que o opendkim não verifica as mensagens.
Portanto, existem 2 maneiras de evitar que esse cabeçalho desapareça:
- execute milter após filtro de conteúdo, o que acredito não ser possível por design
- evitar que o amavis substitua este cabeçalho
Não consegui encontrar nenhuma maneira de impedir que o milter fosse executado antes do amavis, para permitir que ele fosse executado depois. No entanto, você pode evitar que o amavis reescreva esse cabeçalho redefinindo $myauthservid = "amavis.local";
próximo ao final do arquivo de configuração de 50 usuários. Pelo menos foi assim que resolvi isso sozinho.
Responder2
O "não autenticado" pode ser apenas porque o servidor de e-mail remoto não está assinando suas mensagens. Nem todo mundo assina seus e-mails com DKIM. Na verdade, este mecanismo não é tão amplamente implementado como deveria ser. Dito isto, o fato de você usar o DKIM melhorará muito a capacidade de entrega de suas mensagens, mas não espere que todos que enviam mensagens para sua organização também o utilizem. DKIM está crescendo lentamente na minha humilde opinião.
Você pode achar interessante issoExperimento de tendências de implantação DKIM.
Além disso, se você tiver certeza de que o servidor remoto está assinando suas mensagens e seu servidor de e-mail o ignora, sugiro que você verifique se hábugs conhecidos aqui.