Depois de definir "Domínio *" como descrito acima, ele seria assinado assim:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=clientdomain.com;
s=main; t=1250005729;
bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=
observe o "d = clientdomain.com". Ele estava gerando isso com base no endereço de e-mail, onde o endereço do remetente era algo como "[email protected]". Obviamente, se ele checou o domínio do cliente e não o meu, nenhum registro TXT do DNS estava lá e a verificação falharia.
Enfim, descobri neste documentaion que você pode definir um parâmetro KeyList. link
Não descrevia realmente o que eu queria fazer, mas imaginei que iria brincar com ele. Eu comentei o KeyFile e configurei o KeyList para "/etc/mail/dkim_domains.key", que é um nome de arquivo arbitrário que inventei. Eu criei esse arquivo e coloquei nele "*: feedmailpro.com: /etc/mail/dkim.key". Isso diz para qualquer domínio do cliente, assiná-lo com meu domínio (feedmailpro.com) e usar o arquivo dkim.key.
DKIM reiniciado e postfix
sudo /etc/init.d/dkim-filter restart
sudo /etc/init.d/postfix restart
Agora, essa é a chave gerada quando enviei um e-mail de teste.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
s=dkim.key; t=1250005729;
bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=
Melhoria, você vê que o d = now está definido para o meu domínio (mesmo que o endereço de e-mail não seja meu domínio). No entanto s = foi alterado para "dkim.key" em vez do seletor que eu escolhi no dkim-filter.conf. Nas instruções de configuração originais , defini o seletor como "mail". Isso foi estranho, mas notei que mudou para o nome do arquivo da minha chave, dkim.key.
Então eu fui e renomei "/etc/mail/dkim.key" para "/ etc / mail / mail". Também atualizou a referência a ele em "/etc/mail/dkim_domains.key".
Reinicie o dkim-filter e o postfix novamente, como acima, e agora ele começou a funcionar. Aqui está o cabeçalho final que assina corretamente usando o seletor direito (aparentemente baseado no nome do arquivo da chave).
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
s=mail; t=1250006218;
bh=tBguOuDhBDlhv0m4KF66LG10V/8ijLcAKZ4JbjpLXFM=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=c9eqvd+CY86BJDUItWVVRvI3nibfEDORZbye+sD1PVltrcSBOiLZAxF3Y/4mP6vRX
MUUNCC004oIH1u7FYafgF32lpuioMP1cd7bi6x3AZ5zH4BYETNBnnz4AhAPBtqlIh/
FFMz8jkhhLhcM2hDpwJkuKjAe3LzfNVDP8kD11ZI=
Agora s = mail está certo, e d = feedmailpro.com está certo. Funciona!
No geral, isso foi muito mais difícil do que eu esperava e parecia não haver documentação sobre como fazer isso (assinando todos os domínios de saída), mas acho que é um software de código aberto, então não posso reclamar.
Uma observação final, para verificar se o registro DNS TXT foi configurado corretamente, você pode fazer um comando como o seu domínio
dig mail._domainkey.feedmailpro.com TXT
Pode ser necessário instalar o dig (sudo apt-get install dig). Se você estiver usando o gerenciador do Slicehost para adicionar a entrada DNS, insira o registro TXT assim.
Type: TXT
Name: mail._domainkey
Data: k=rsa; t=s; p=M5GfMA0...YOUR LONG KEY...fIDAQAB
TTL seconds: 86400
Eu realmente não entendo porque o nome está definido para "mail._domainkey" sem um período no final ou sem o meu domínio, como "mail._domainkey.feedmailpro.com". Mas seja como for, parece funcionar, então estou feliz.
Se você está tentando duplicar isso, aqui estão as instruções que eu comecei com: link