Signer les emails avec DKIM
DKIM (DomainKeys Identified Mail) est une technologie visant à accroître la fiabilité des e-mails, qui aide également à détecter les messages falsifiés. Le message envoyé est signé par le serveur SMTP avec la clé privée du domaine de l'expéditeur, et cette signature est stockée dans l'en-tête de l'e-mail. Le serveur du destinataire compare cette signature avec la clé publique stockée dans les enregistrements DNS du domaine. Si la signature correspond, cela prouve que l'e-mail provient bien du domaine de l'expéditeur et qu'il n'a pas été modifié pendant la transmission.

Nette\Mail prend en charge DKIM depuis la version 3.1. L'utilisation est très simple :
$options = [
'domain' => 'myweb.com',
'selector' => 'lovenette',
'privateKey' => file_get_contents('dkim.priv'),
// 'passPhrase' => '****',
'testMode' => true,
];
$mailer = new Nette\Mail\SendmailMailer; // ou SmtpMailer
$mailer->setSigner(new Nette\Mail\DkimSigner($options));
$mailer->send($mail);
Ou vous pouvez utiliser un fichier de configuration :
mail:
dkim:
domain: myweb.com
selector: lovenette
privateKey: %appDir%/cert/dkim.priv
passPhrase: ...
testMode: ...
Le sélecteur est une chaîne alphanumérique arbitraire en minuscules qui fait partie de l'enregistrement DNS.
Vous pouvez générer les clés privée et publique à l'aide de services en ligne (par exemple, easydmarc) ou localement à l'aide d'openssl :
openssl genrsa -out dkim.priv 1024
openssl rsa -in dkim.priv -pubout > dkim.pub
Publiez la clé publique en créant un enregistrement TXT dans le DNS de
votre domaine, dont le nom sera une combinaison du sélecteur, de la chaîne
._domainkey.
et du domaine. Dans notre exemple, ce serait
lovenette._domainkey.myweb.com
. Dans certaines administrations, le
domaine peut être pré-rempli.
La valeur de l'enregistrement sera la concaténation de la chaîne
v=DKIM1;t=s;k=rsa;p=
et de la clé publique, que vous copiez depuis
le fichier dkim.pub
. Supprimez les commentaires enveloppants
-----BEGIN PUBLIC KEY-----
et joignez les lignes en une seule
longue ligne :
v=DKIM1;t=s;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi5y95Mi8FZ8LOSmi7nA/EFhn4a4/Zq3BnnmPFdu1IvduDwMGRrRW5V9FKjXvr4AnUq7eMLRtEdWYRpR9BXLdCWiJ2N4yKJG7SEEir8DMYOGGeqJZoR/kWFiG++GW++sdhfukFflPusJjrWr+4Pc4/qxMSrqUk/rVdsSlTDDRy/QIDAQAB
Pour vérifier votre configuration DKIM, vous pouvez utiliser par exemple le service MailTester.
Pour soumettre un commentaire, veuillez vous connecter