hestia a écrit : 02 mai 2022, 10:04
Si je comprends bien pour un notification de Domoticz seulement cela pourrait fonctionner.
Pour d'autres usages via python/smtplib cela pourrait poser des problèmes.
Oui, tout comme cela ne pose pas de pb non plus à un client lourd comme Thunderbird: Je pense qu'ils s'adaptent à la volée sur l'erreur SSL reçue à la connexion sans devoir impacter la configuration globale du système (à éviter).
Pareil pour une version de python 3.7 essayée avec la gestion du paramètre "context" évoquée ici et que j'avais testé sommairement:
https://easydomoticz.com/forum/viewtopi ... 35#p104635
Là, on peut bloquer l'utilisation de DH (Diffie-Helman) juste pour la connexion a un smtp posant pb.
Pour le moment, mailo fait le job. En plus du champ 'Date' à ajouter au message dont l'absence s'est vue, j'utilisais la commande NOOP (no operation) pour tester toutes les minutes si la connexion restait active: En effet, l'envoi des messages avec potentiellement une ou deux dizaines de captures en PJ peut prendre un peu de temps. J'avais donc dû gérer l'envoi en tâche de fond via un thread séparé... ce qui permettait aussi de maintenir la connexion et d'économiser les temps de reconnexion sur lots de captures successives!
Et NOOP permet de tester régulièrement (toutes les minutes par exemple) que la connexion reste active, c'est un des usages fréquents de cette commande.
Mais mailo déconnecte sur le NOOP... J'ai donc dû rendre cela paramétrable afin de pouvoir continuer à faire ce test en utilisant de manière détournée la commande HELP, même si la réponse est un peu plus longue.
A ce sujet, pour tester rapidement les commandes supportées par un serveur SMTP en ssl sous Linux (sans ssl, ça se fait directement via "telnet SMTP_ADR SMTP_PORT"), cette petite astuce via la commande "openssl", par exemple pour tester mailo (serveur smtp : mail.mailo.com):
Code : Tout sélectionner
~$ openssl s_client -connect mail.mailo.com:465 <=== COMMANDE CONNECTION
CONNECTED(00000003)
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = *.mailo.com
verify return:1
---
Certificate chain
(... BAZAR CERTIF SSL ...)
---
read R BLOCK
220 b-1.in.mailobj.net ESMTP Server ready
HELP <=== TEST COMMANDE HELP
214- HELO EHLO AUTH MAIL RCPT DATA
214- RSET NOOP QUIT VRFY HELP
214 End of HELP infos
NOOP <=== TEST COMMANDE NOOP
250 Ok
closed
Sur le NOOP, on voit que la connexion est fermée juste après la réponse, ce qui est inhabituel (smtp.gmail.com ne le fait pas par exemple).
Avantage vs gmail, par contre, c'est que mailo ne semble pas me déconnecter après qq minutes:
Code : Tout sélectionner
lsof | grep -i establ
motionCam 18674 XXXX 3u IPv4 5285735 0t0 TCP rasdomo.home:48318->ip-206.mailobj.net:submissions (ESTABLISHED)
motionCam 18674 20794 motionCam XXXX 3u IPv4 5285735 0t0 TCP rasdomo.home:48318->ip-206.mailobj.net:submissions (ESTABLISHED)
Cette connexion suite au denier envoi de captures est ici active depuis 40mn! C'est plutôt un bon point. A suivre...