Erreur pour utiliser QSslSocket
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 :
Code:
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 |
Mon client smtp permet les connexions STARTTLS. Donc dans mon fichier .h j'ai inclus cette ligne :
Code:
1 2
|
#include <openssl/tls1.h> |
Jusque là, tout compile comme il faut, sauf que lorsque j'utilise :
Code:
1 2
|
QSslSocket::supportsSsl(); |
Ca me retourne un beau false !!! Donc, lorsque je fais :
Code:
1 2
|
socketSsl.startClientEncryption(); |
sachant que socketSsl est un QSslSocket, la sortie de l'application me retourne :
Code:
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" |
Est-ce que vous auriez une idée ? Merci d'avance. ;)