Signer les e-mails avec DKIM
DKIM (DomainKeys Identified Mail) est une technologie de messagerie électronique fiable qui permet également de détecter les messages usurpé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 du courriel. Le serveur du destinataire compare cette signature avec la clé publique stockée dans les enregistrements DNS du domaine. En faisant correspondre la signature, il est démontré que le courriel provient effectivement du domaine de l'expéditeur et que le message n'a pas été modifié pendant sa transmission.
Nette\Mail supporte 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; // or SmtpMailer
$mailer->setSigner(new Nette\Mail\DkimSigner($options));
$mailer->send($mail);
Ou vous pouvez utiliser le 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 minuscule qui fait partie de l'enregistrement DNS.
Vous pouvez générer une paire de clés privée et publique en utilisant openssl :
openssl genrsa -out dkim.priv 1024
openssl rsa -in dkim.priv -pubout > dkim.pub
Vous publiez la clé publique en créant un enregistrement TXT dans le DNS
pour le nom d'hôte créé en concaténant le sélecteur, la chaîne littérale
._domainkey.
et le nom de domaine. Dans notre exemple, il s'agit de
lovenette._domainkey.myweb.com
. Dans certaines administrations, le
domaine est déjà pré-rempli.
La valeur de l'enregistrement TXT peut être créée en concaténant la
chaîne littérale v=DKIM1;t=s;k=rsa;p=
et la clé publique que
vous copiez du fichier dkim.pub
. Supprimez les lignes environnantes
de -----BEGIN PUBLIC KEY-----
et enroulez la clé dans une seule
longue ligne :
v=DKIM1;t=s;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi5y95Mi8FZ8LOSmi7nA/EFhn4a4/Zq3BnnmPFdu1IvduDwMGRrRW5V9FKjXvr4AnUq7eMLRtEdWYRpR9BXLdCWiJ2N4yKJG7SEEir8DMYOGGeqJZoR/kWFiG++GW++sdhfukFflPusJjrWr+4Pc4/qxMSrqUk/rVdsSlTDDRy/QIDAQAB
Vous pouvez utiliser le service MailTester pour vérifier vos paramètres DKIM.
Pour soumettre un commentaire, veuillez vous connecter