Eu me deparei com sua pergunta enquanto estava configurando o DKIM em nosso próprio ambiente. Agora que estou trabalhando (no meu ambiente de teste), queria responder à sua pergunta.
Existem dois pacotes (que eu conheço) que podem ser usados para implementar o DKIM, ambos disponíveis até o momento nos repositórios de pacotes do EPEL (yum):
- dkim-milter
- OpenDKIM
Comecei pela dkim-milter, simplesmente porque não sabia de nada e foi a primeira coisa que tentei. Depois de conversar com algumas pessoas no canal de IRC #Postfix no Freenode, fui apontado para o OpenDKIM.
O dkim-milter ainda está disponível, mas não é atualizado desde 2011 e, aparentemente, não é mais mantido. O OpenDKIM é um fork do dkim-milter e, pelo que sei, é a melhor abordagem.
Moral da história: recomendo o OpenDKIM.
Agora, você não nos disse o que estava usando para assinar suas mensagens. Se você ainda precisar de ajuda, responda (ou edite sua pergunta) e informe se está usando o OpenDKIM ou o dkim-milter (ou outra coisa).
Agora que isso está fora do caminho, usando o OpenDKIM, existe um comando que você pode executar, opendkim-testkey
, que permite testar a chave e ver se ela é válida ou não, antes mesmo de enviar mensagens de teste.
Eu estava tendo exatamente o mesmo problema que você, embora eu consiga pegar minha chave para validar com o opendkim-testkey. Acontece que meu problema foi porque eu tinha definido o identificador "Seletor" em /etc/opendkim.conf para "mail01.private" quando, na verdade, meu seletor era simplesmente chamado de "mail01". O arquivo de chave foi chamado de "mail01.private", mas o filtro em si era apenas "mail01" - assim que fiz essa alteração, os cabeçalhos das mensagens no Google mostraram que o DKIM passou.
Espero que isso ajude!