PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Emails et DKIM
Emails et DKIM
Iniciado por Olivier, 07,nov. 2019 09:58 - 5 respuestas
Miembro registrado
198 mensajes
Publicado el 07,noviembre 2019 - 09:58
Bonjour,
Je voudrais mettre en place le protocole DKIM pour l'émission de mes emails, par contre, j'ai un petit soucis.

J'explique le contexte :
- j'ai mon domaine chez OVH,
- j'ai un serveur dédié avec IIS qui tourne dessus et un serveur SMTP (le serveur SMTP standard de IIS) qui pointe sur le domaine OVH,
- et j'ai mon programme Windev qui envoie mes emails par l'intermédiaire du serveur SMTP.

Jusque là çà fonctionne très bien depuis pas mal de temps, mes emails partent bien.

Je voudrais donc ajouter le protocole DKIM. J'ai ajouté dans les DNS du domaine chez OVH une zone DKIM, jusque là çà va.
Par contre, au niveau de l'email, je dois mettre la clé RSA (qui est en fait une chaine de caractères). Comment faire ?

Dans mon programme Windev j'utilise une variable de type Email

MonMessage est un Email

// Expéditeur
MonMessage..Expediteur = sExpediteur

// Destinataires
sDestinataire_1 est une chaîne = "aaa@gmail.com"
sDestinataire_2 est une chaîne = "bbb@gmail.com"
Ajoute(MonMessage..Destinataire, sDestinataire_1)
Ajoute(MonMessage..Destinataire, sDestinataire_2)

// Contenu du message
MonMessage..Sujet = SAI_Sujet

... etc ...
... etc ...


Où et comment mettre la clé ? j'ai vu qu'il y avait une propriété de type 'certificat' dans la variable Email, mais mon certificat c'est une chaine (la deuxième partie de la signature DKIM).

Comment faire ?
Quelqu'un utilise DKIM en Windev ?
Merci beaucoup.
Olivier

--
Publicado el 07,noviembre 2019 - 11:06
Bonjour Olivier,

Je ne connais pas le protocole DKIM en revanche si il faut charger un certificat la fonction CertificatCharge() devrait faire l'affaire je pense : https://doc.pcsoft.fr/fr-FR/?1000020851&name=certificatcharge_fonction

Cette fonction renvoie un tableau de certificat, puisque qu'un seul certificat est retourné dans votre cas je pense qu'il suffit simplement de faire

bufCheminCertificat est un buffer = "Contenu du certificat"
tabCertificat est un tableau de Certificat
MonMail est un Email

tabCertificat = CertificatCharge(bufCheminCertificat,"MonMDP")
SI tabCertificat..Occurence > 0 ALORS
MonMail..Certificat = tabCertificat[1]
FIN


Cordialement, Corentin Domanski.
Miembro registrado
198 mensajes
Publicado el 07,noviembre 2019 - 12:04
Merci Corentin pour ta réponse.
Oui j'ai vu que l'on peut charger un certificat dans la propriété 'certificat' dans la variable Email avec la fonction 'CertificatCharge', mais je pense que ce n'est pas pour le protocole DKIM, déjà il n'y a pas de certificat sous forme de fichier, c'est une chaine de caractère et il n'y a pas de mot de passe, c'est une clé généré à partir du nom de domaine.
Merci quand même.

--
Miembro registrado
953 mensajes
Publicado el 07,noviembre 2019 - 15:53
bonjour Olivier,

ce n'est pas votre serveur SMTP IIS qui devrait signer vos emails et ajouter l'entête DKIM ?

j'ai trouvé çà :

https://www.emailarchitect.net/domainkeys/kb/dkim_iis_smtp.aspx…
Miembro registrado
198 mensajes
Publicado el 07,noviembre 2019 - 16:01
Merci Christophe pour ta réponse, j'avais déjà vu cette page.
D'après ce que j'ai compris le serveur SMTP par défaut de IIS ne gère pas le DKIM il faut ajouter une extension pour le gérer (il y en a plusieurs différentes mais hors de prix), après il y a d'autres serveur SMTP (Exchange) qui le gère (mais je ne peux pas changer).
Il y a aussi la solution d'ajouter dans l'entête du mail les informations DKIM, c'est ce que je recherche mais je n'ai pas trouvé d'informations claires.
Merci

--
Mensaje modificado, 07,noviembre 2019 - 16:01
Miembro registrado
198 mensajes
Publicado el 12,noviembre 2019 - 23:42
A priori DKIM n'inspire pas grand monde !
dommage car c'est un excellent moyen d'augmenté la délivrabilité des mails.

--