Υπογραφή μηνυμάτων ηλεκτρονικού ταχυδρομείου με χρήση DKIM

πριν από 5 χρόνια Από David Grudl  

Το DKIM (DomainKeys Identified Mail) είναι μια τεχνολογία για την αύξηση της αξιοπιστίας των μηνυμάτων ηλεκτρονικού ταχυδρομείου, η οποία βοηθά επίσης στον εντοπισμό πλαστών μηνυμάτων. Το απεσταλμένο μήνυμα υπογράφεται από τον διακομιστή SMTP με το ιδιωτικό κλειδί του τομέα του αποστολέα και αυτή η υπογραφή αποθηκεύεται στην κεφαλίδα του μηνύματος ηλεκτρονικού ταχυδρομείου. Ο διακομιστής του παραλήπτη συγκρίνει αυτήν την υπογραφή με το δημόσιο κλειδί που είναι αποθηκευμένο στις εγγραφές DNS του τομέα. Εάν η υπογραφή ταιριάζει, αποδεικνύεται ότι το μήνυμα ηλεκτρονικού ταχυδρομείου προέρχεται πράγματι από τον τομέα του αποστολέα και ότι δεν υπήρξε καμία τροποποίηση στο μήνυμα κατά τη μετάδοση.

Το Nette\Mail υποστηρίζει το DKIM από την έκδοση 3.1. Η χρήση είναι πολύ απλή:

$options = [
	'domain' => 'myweb.com',
	'selector' => 'lovenette',
	'privateKey' => file_get_contents('dkim.priv'),
//	'passPhrase' => '****',
	'testMode' => true,
];

$mailer = new Nette\Mail\SendmailMailer; // ή SmtpMailer
$mailer->setSigner(new Nette\Mail\DkimSigner($options));
$mailer->send($mail);

Ή μπορείτε να χρησιμοποιήσετε το αρχείο διαμόρφωσης:

mail:
	dkim:
		domain: myweb.com
	    selector: lovenette
	    privateKey: %appDir%/cert/dkim.priv
	    passPhrase: ...
	    testMode: ...

Ο επιλογέας (selector) είναι μια οποιαδήποτε αλφαριθμητική συμβολοσειρά με πεζά γράμματα, η οποία αποτελεί μέρος της εγγραφής DNS.

Μπορείτε να δημιουργήσετε το ιδιωτικό και δημόσιο κλειδί χρησιμοποιώντας μία από τις online υπηρεσίες (π.χ. easydmarc) ή τοπικά χρησιμοποιώντας το openssl:

openssl genrsa -out dkim.priv 1024
openssl rsa -in dkim.priv -pubout > dkim.pub

Δημοσιεύστε το δημόσιο κλειδί δημιουργώντας μια εγγραφή TXT στο DNS του τομέα σας, το όνομα της οποίας θα είναι ο συνδυασμός του επιλογέα, της συμβολοσειράς ._domainkey. και του τομέα. Στο παράδειγμά μας, θα ήταν lovenette._domainkey.myweb.com. Σε ορισμένες διαχειριστικές διεπαφές, ο τομέας μπορεί να είναι ήδη προ-συμπληρωμένος.

Η τιμή της εγγραφής θα είναι ο συνδυασμός της συμβολοσειράς v=DKIM1;t=s;k=rsa;p= και του δημόσιου κλειδιού, το οποίο αντιγράφετε από το αρχείο dkim.pub. Αφαιρέστε τα περιβάλλοντα σχόλια -----BEGIN PUBLIC KEY----- και συνδέστε τις γραμμές σε μία μακρά:

v=DKIM1;t=s;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi5y95Mi8FZ8LOSmi7nA/EFhn4a4/Zq3BnnmPFdu1IvduDwMGRrRW5V9FKjXvr4AnUq7eMLRtEdWYRpR9BXLdCWiJ2N4yKJG7SEEir8DMYOGGeqJZoR/kWFiG++GW++sdhfukFflPusJjrWr+4Pc4/qxMSrqUk/rVdsSlTDDRy/QIDAQAB

Για να ελέγξετε τη ρύθμιση DKIM, μπορείτε να χρησιμοποιήσετε, για παράδειγμα, την υπηρεσία MailTester.

Πρόσφατες δημοσιεύσεις