Podpisywanie e-maili za pomocą DKIM
DKIM (DomainKeys Identified Mail) to technologia zwiększająca wiarygodność e-maili, która pomaga również w wykrywaniu sfałszowanych wiadomości. Wysłana wiadomość jest podpisywana przez serwer SMTP prywatnym kluczem domeny nadawcy, a ten podpis jest przechowywany w nagłówku e-maila. Serwer odbiorcy porównuje ten podpis z kluczem publicznym przechowywanym w rekordach DNS domeny. Jeśli podpis się zgadza, dowodzi to, że e-mail rzeczywiście pochodzi z domeny nadawcy i że wiadomość nie została zmodyfikowana podczas przesyłania.

Nette\Mail wspiera DKIM od wersji 3.1. Użycie jest bardzo proste:
$options = [
'domain' => 'myweb.com',
'selector' => 'lovenette',
'privateKey' => file_get_contents('dkim.priv'),
// 'passPhrase' => '****',
'testMode' => true,
];
$mailer = new Nette\Mail\SendmailMailer; // lub SmtpMailer
$mailer->setSigner(new Nette\Mail\DkimSigner($options));
$mailer->send($mail);
Możesz również skorzystać z pliku konfiguracyjnego:
mail:
dkim:
domain: myweb.com
selector: lovenette
privateKey: %appDir%/cert/dkim.priv
passPhrase: ...
testMode: ...
Selektor to dowolny ciąg alfanumeryczny pisany małymi literami, który jest częścią rekordu DNS.
Klucz prywatny i publiczny można wygenerować za pomocą usług online (np. easydmarc) lub lokalnie za pomocą openssl:
openssl genrsa -out dkim.priv 1024
openssl rsa -in dkim.priv -pubout > dkim.pub
Opublikuj klucz publiczny, tworząc rekord TXT w DNS swojej domeny, którego
nazwa będzie połączeniem selektora, ciągu ._domainkey.
i domeny. W naszym przykładzie byłoby to
lovenette._domainkey.myweb.com
. W niektórych panelach
administracyjnych domena jest już wstępnie wypełniona.
Wartością rekordu będzie połączenie ciągu
v=DKIM1;t=s;k=rsa;p=
i klucza publicznego, który skopiuj z pliku
dkim.pub
. Usuń otaczające komentarze
-----BEGIN PUBLIC KEY-----
i połącz linie w jedną długą:
v=DKIM1;t=s;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi5y95Mi8FZ8LOSmi7nA/EFhn4a4/Zq3BnnmPFdu1IvduDwMGRrRW5V9FKjXvr4AnUq7eMLRtEdWYRpR9BXLdCWiJ2N4yKJG7SEEir8DMYOGGeqJZoR/kWFiG++GW++sdhfukFflPusJjrWr+4Pc4/qxMSrqUk/rVdsSlTDDRy/QIDAQAB
Do sprawdzenia ustawień DKIM można użyć na przykład usługę MailTester.
Aby przesłać komentarz, proszę się zalogować