Assine e-mails com DKIM
O DKIM (DomainKeys Identified Mail) é uma tecnologia de e-mail confiável que também ajuda a detectar mensagens falsificadas. A mensagem enviada é assinada pelo servidor SMTP com a chave privada do domínio do remetente e esta assinatura é armazenada no cabeçalho do e-mail. O servidor do destinatário compara esta assinatura com a chave pública armazenada nos registros DNS do domínio. Combinando a assinatura, é mostrado que o e-mail realmente originou-se do domínio do remetente e que a mensagem não foi modificada durante a transmissão da mensagem.
Nette\Mail suporta DKIM desde a versão 3.1. O uso é muito simples:
$options = [
'domain' => 'myweb.com',
'selector' => 'lovenette',
'privateKey' => file_get_contents('dkim.priv'),
// 'passPhrase' => '****',
'testMode' => true,
];
$mailer = new Nette\Mail\SendmailMailer; // or SmtpMailer
$mailer->setSigner(new Nette\Mail\DkimSigner($options));
$mailer->send($mail);
Ou você pode usar o arquivo de configuração:
mail:
dkim:
domain: myweb.com
selector: lovenette
privateKey: %appDir%/cert/dkim.priv
passPhrase: ...
testMode: ...
O seletor é qualquer cadeia alfanumérica em letras minúsculas que faça parte do registro DNS.
Você pode gerar um par de chaves privadas e públicas usando o openssl:
openssl genrsa -out dkim.priv 1024
openssl rsa -in dkim.priv -pubout > dkim.pub
Você publica a chave pública criando um registro TXT no DNS para o nome da
máquina criada pela concatenação do seletor, a seqüência literal
._domainkey.
e o nome do domínio. Usando nosso exemplo, isso
seria lovenette._domainkey.myweb.com
. Em algumas administrações,
o domínio já está pré-preenchido.
O valor do registro TXT pode ser criado concatenando a string literal
v=DKIM1;t=s;k=rsa;p=
e a chave pública que você copia do arquivo
dkim.pub
. Remova as linhas circundantes
-----BEGIN PUBLIC KEY-----
e embrulhe a chave em uma única
linha longa:
v=DKIM1;t=s;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi5y95Mi8FZ8LOSmi7nA/EFhn4a4/Zq3BnnmPFdu1IvduDwMGRrRW5V9FKjXvr4AnUq7eMLRtEdWYRpR9BXLdCWiJ2N4yKJG7SEEir8DMYOGGeqJZoR/kWFiG++GW++sdhfukFflPusJjrWr+4Pc4/qxMSrqUk/rVdsSlTDDRy/QIDAQAB
Você pode usar o MailTester service para verificar suas configurações do DKIM.
Para enviar um comentário, faça o login