Firmar correos electrónicos con DKIM
DKIM (DomainKeys Identified Mail) es una tecnología de correo electrónico de confianza que también ayuda a detectar mensajes falsificados. El mensaje enviado es firmado por el servidor SMTP con la clave privada del dominio del remitente y esta firma se almacena en la cabecera del correo electrónico. El servidor del destinatario compara esta firma con la clave pública almacenada en los registros DNS del dominio. Al cotejar la firma, se demuestra que el correo electrónico procede realmente del dominio del remitente y que el mensaje no ha sido modificado durante su transmisión.
Nette\Mail soporta DKIM desde la versión 3.1. El uso es muy sencillo:
$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);
O puede utilizar el archivo de configuración:
mail:
dkim:
domain: myweb.com
selector: lovenette
privateKey: %appDir%/cert/dkim.priv
passPhrase: ...
testMode: ...
El selector es cualquier cadena alfanumérica en minúsculas que forme parte del registro DNS.
Puede generar un par de claves privada y pública utilizando openssl:
openssl genrsa -out dkim.priv 1024
openssl rsa -in dkim.priv -pubout > dkim.pub
La clave pública se publica creando un registro TXT en el DNS para el nombre
de host creado concatenando el selector, la cadena literal
._domainkey.
y el nombre de dominio. Utilizando nuestro ejemplo,
sería lovenette._domainkey.myweb.com
. En algunas administraciones,
el dominio ya está rellenado previamente.
El valor del registro TXT puede crearse concatenando la cadena literal
v=DKIM1;t=s;k=rsa;p=
y la clave pública que copie del archivo
dkim.pub
. Elimine las líneas
-----BEGIN PUBLIC KEY-----
circundantes y envuelva la clave en una
sola línea larga:
v=DKIM1;t=s;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi5y95Mi8FZ8LOSmi7nA/EFhn4a4/Zq3BnnmPFdu1IvduDwMGRrRW5V9FKjXvr4AnUq7eMLRtEdWYRpR9BXLdCWiJ2N4yKJG7SEEir8DMYOGGeqJZoR/kWFiG++GW++sdhfukFflPusJjrWr+4Pc4/qxMSrqUk/rVdsSlTDDRy/QIDAQAB
Puede utilizar el servicio "MailTester:https://www.mail-tester.com/spf-dkim-check " para comprobar su configuración DKIM.
Para enviar un comentario, inicie sesión