Bonjour à tous,
Voilà plusieurs jours que je me casse la tête à essayer de faire fonctionner mon client smtp.
Malgré plusieurs recherches, je n'arrive pas à comprendre ce qui ne fonctionne pas avec OpenSSL.
J'ai installé OpenSSL dans le dossier suivant : C:\OpenSSL-Win32 et je possède la version 5.7 de Qt.
J'ai donc ajouter la librairie d'OpenSSL dans mon .pro comme ceci :
Mon client smtp permet les connexions STARTTLS. Donc dans mon fichier .h j'ai inclus cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 win32:CONFIG(release, debug|release): LIBS += -LC:/OpenSSL-Win32/lib/ -llibssl else:win32:CONFIG(debug, debug|release): LIBS += -LC:/OpenSSL-Win32/lib/ -llibssld INCLUDEPATH += C:/OpenSSL-Win32/include DEPENDPATH += C:/OpenSSL-Win32/include
Jusque là, tout compile comme il faut, sauf que lorsque j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include <openssl/tls1.h>
Ca me retourne un beau false !!! Donc, lorsque je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 QSslSocket::supportsSsl();
sachant que socketSsl est un QSslSocket, la sortie de l'application me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 socketSsl.startClientEncryption();
Est-ce que vous auriez une idée ? Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Connected : "220 BLU437-SMTP104.smtp.hotmail.com Microsoft ESMTP MAIL Service, Version: 8.0.9200.16384 ready at Sat, 25 Feb 2017 05:41:35 -0800 \r\n" EHLO : "250-BLU437-SMTP104.smtp.hotmail.com Hello [78.214.166.30]\r\n250-TURN\r\n250-SIZE 41943040\r\n250-ETRN\r\n250-PIPELINING\r\n250-DSN\r\n250-ENHANCEDSTATUSCODES\r\n250-8bitmime\r\n250-BINARYMIME\r\n250-CHUNKING\r\n250-VRFY\r\n250-TLS\r\n250-STARTTLS\r\n250 OK\r\n" STARTTLS : "220 2.0.0 SMTP server ready\r\n" qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error Erreur : "L'opération réseau est expirée"![]()
Partager