Firmare le e-mail con DKIM
DKIM (DomainKeys Identified Mail) è una tecnologia di posta elettronica affidabile che aiuta anche a rilevare i messaggi falsificati. Il messaggio inviato viene firmato dal server SMTP con la chiave privata del dominio del mittente e questa firma viene memorizzata nell'intestazione dell'e-mail. Il server del destinatario confronta questa firma con la chiave pubblica memorizzata nei record DNS del dominio. La corrispondenza della firma dimostra che l'e-mail proviene effettivamente dal dominio del mittente e che il messaggio non è stato modificato durante la trasmissione.
Nette\Mail supporta il DKIM dalla versione 3.1. L'utilizzo è molto semplice:
$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);
Oppure si può utilizzare il file di configurazione:
mail:
dkim:
domain: myweb.com
selector: lovenette
privateKey: %appDir%/cert/dkim.priv
passPhrase: ...
testMode: ...
Il selettore è una qualsiasi stringa alfanumerica minuscola che fa parte del record DNS.
È possibile generare una coppia di chiavi private e pubbliche utilizzando openssl:
openssl genrsa -out dkim.priv 1024
openssl rsa -in dkim.priv -pubout > dkim.pub
La chiave pubblica viene pubblicata creando un record TXT nel DNS per il nome
host creato concatenando il selettore, la stringa letterale
._domainkey.
e il nome del dominio. Nel nostro esempio, si tratta
di lovenette._domainkey.myweb.com
. In alcune amministrazioni il
dominio è già precompilato.
Il valore del record TXT può essere creato concatenando la stringa letterale
v=DKIM1;t=s;k=rsa;p=
e la chiave pubblica copiata dal file
dkim.pub
. Rimuovere le righe circostanti
-----BEGIN PUBLIC KEY-----
e racchiudere la chiave in un'unica
lunga riga:
v=DKIM1;t=s;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi5y95Mi8FZ8LOSmi7nA/EFhn4a4/Zq3BnnmPFdu1IvduDwMGRrRW5V9FKjXvr4AnUq7eMLRtEdWYRpR9BXLdCWiJ2N4yKJG7SEEir8DMYOGGeqJZoR/kWFiG++GW++sdhfukFflPusJjrWr+4Pc4/qxMSrqUk/rVdsSlTDDRy/QIDAQAB
È possibile utilizzare il servizio MailTester per verificare le impostazioni DKIM.
Per inviare un commento, effettuare il login