Como configurar corretamente o postfix e o opendkim e permitir que o servidor de recebimento saiba todos os detalhes enviados por assinatura?

1

O que estou tentando alcançar - Bottomline: e-mails para ir na caixa de entrada e spam.

Eu tenho um servidor que está executando o postfix (servidor de email) e tenho 3 domínios. O servidor de email é usado para emails de entrada e saída.

Estou assinando com o opendkim e tenho registros de DNS em funcionamento.

Após uma longa observação, percebi que as mensagens estão em spam devido a uma atribuição incorreta enviada por e-mail e assinada.

considere, meu servidor de e-mail seja mailerver.example.com e outros 3 domínios são example1.com, example2.com e example3.com

quando alguém envia um email de [email protected], deve mostrar:

[email protected] via mailserver.example.com

enviado por: mailserver.example.com

signed-by: example1.com

Eu observei que os e-mails mailjet e amazon dificilmente entram em spam, o fato é, 'talvez' porque o nome do host / ip reverso é resolvido para o que é enviado e assinado.

Arquivos de configuração:

/etc/opendkim/Keytable

mvs._domainkey.example1.com example1.com:selc:/etc/opendkim/keys/example1_com/selc.private
mvs._domainkey.example2.com example2.com:selc:/etc/opendkim/keys/example2_com/selc.private

/etc/opendkim.conf

Domain          example1.com
KeyFile     /etc/opendkim/keys/example1_com/selc
Selector        selc

Domain          example2.com
KeyFile     /etc/opendkim/keys/example2_com/selc
Selector        selc

Canonicalization    simple
Mode            sv
Syslog                  yes
LogWhy                  yes
UMask                   022
UserID                  opendkim:opendkim
KeyTable           /etc/opendkim/KeyTable
SigningTable       /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts      /etc/opendkim/TrustedHosts
Socket                  inet:34562@localhost
X-Header        no

e finalmente

/etc/opendkim/SigningTable

example1.com selc._domainkey.example1.com
example2.com selc._domainkey.example2.com

Onde estou faltando?

    
por Karma 02.12.2013 / 11:19

1 resposta

6

Antes de mais nada, remova esses valores (eles não são necessários se você usar o KeyTable):

Domain      example1.com
KeyFile     /etc/opendkim/keys/example1_com/selc
Selector    selc

Domain      example2.com
KeyFile     /etc/opendkim/keys/example2_com/selc
Selector    selc

Configure o seu KeyTable assim:

mykey1 example1.com:recordname1:/path/to/domain.key
mykey2 example2.com:recordname2:/path/to/domain.key

Configure sua SigningTable como essa (observe a correspondência de caractere curinga e mykey1 e mykey2 em KeyTable ):

*@example1.com mykey1
*@example2.com mykey2

E, finalmente, altere seu opendkim.conf para incluir SigningTable via prefixo refile: (suporte a expressões regulares):

SigningTable    refile:/etc/opendkim/SigningTable

E registro de domínio para referência (note recordname1 e recordname2 em KeyTable ):

recordname1._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=..."
recordname2._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=..."

Além disso, por favor, verifique se você tem o seu nome de host do nó (do qual você está enviando e-mail) no arquivo InternalHosts :

server1.example1.com
server2.example2.com
mail.example1.com
mail.example2.com

Novamente, você pode usar o prefixo refile: para adicionar algo como:

*.example1.com
*.example2.com

se você tiver vários hosts e não quiser incluir todos eles manualmente. Se você aceitar apenas correio local, deverá adicionar localhost aqui.

Você deve verificar o arquivo de log para avisos DKIM sobre ignorar a assinatura se seu host estiver faltando no arquivo InternalHosts .

Exemplo de opendkim.conf:

# Set these values (Syslog, SyslogSuccess, LogWhy) for debugging and check syslog for details
Syslog      yes
SyslogSuccess   yes
LogWhy      yes

UMask       002
UserID      opendkim:opendkim

KeyTable            /etc/opendkim/KeyTable
SigningTable        refile:/etc/mail/SigningTable
InternalHosts       refile:/etc/mail/hosts
    
por 20.12.2013 / 01:56