Simple TLS/SSL suppoerted SMTP client for Qt5
I was looking for a very simple SMTP client for Qt which would be able to support SSL/TLS and use gmail as it's smtp server.
I found one which should have been able to do what I wanted, however I decided to improve the example SMTP client from trolltech, which was developed for Qt3.
The original trolltech example didn't support TLS/SSL and authentification, so I added both of those and just recently I added support for multiple file attachments.
While making the small "library" I was writing articles about how I did it and what I learned
"Simple TLS/SSL SMTP client for Qt5":http://morf.lv/modules.php?name=tutorials&lasit=20
"Adding file attachments to SMTP client for Qt5":http://morf.lv/modules.php?name=tutorials&lasit=21
Hopefully it will be useful for someone else as much as for me.
Hi, good one !
Thanks for sharing !
IIRC there are several people looking for something like that
Great, not so far ago i searched for library like this. And didn't found any easy, not so complicated to use. Thx, i will give it to try.
But how about, pop3 ?
POP3, is a completely different protocol, I can check it out, and maybe write a tutorial on it. So far I have only touched SMTP, which is used for sending the email not receiving.
Glad that you guys like it.
Hi, Have someone check this tools with using some other SMTP settings (example yahoo)? With gmail it works perfectly, but when it used yahoo SMTP, there is socket timeout error?
Strange, I've checked with yahoo as well. Worked great for me, about 2-3 month ago.
In any case, what settings are you using for yahoo?
I used these settings for yahoo SMTP:
Mail SMTP server address: smtp.mail.yahoo.com (also with plus.smtp.mail.yahoo.com, doesn't work)
Mail SMTP user name: Your full Yahoo! Mail email address (including "@yahoo.com")
Mail SMTP password: Your Yahoo! Mail password
Mail SMTP port: 465
Mail SMTP TLS/SSL required: yes
Thanks in advance
hello I used this same project in linux and it worked perfectly
but when I needed to use it on windows I had this error:
No attachments found
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
error QAbstractSocket::SocketError( 21 )
QSslSocket: cannot call unresolved function ERR_get_error
error QAbstractSocket::SocketError( 20 )
C:\Users\eng-IEK\Desktop\smtp_multiple_files\build-smtp-Desktop_Qt_5_2_0_MSVC2012_64bit-Debug\debug\smtp.exe exited with code 0
anyone have any idea what it might be? maybe some lib?
Did you install and openssl on your window machine ? Is your Qt built with SSL support ?
I installed OpenSSL and tried again and could not anyway
how do I find out if my Qt is with support for SSL?
ALL on linux is easier kkkk
First thing, check that you install OpenSSL 64bit to match your Qt architecture.
Then check that your PATH variable contains the folder of the OpenSSL libs
thanks for the help
i have installed the 32bits version, and this don't work
now whit the 64bits this worked
I am working on application using Qt4.84 and the target system is linux LTIB BSP. I want the target system can send out an email to external someone or some kind of mail box via the wifi network or wireless 3G/4G modem. I wonder if this SMTP client can solve my requirement? Since you are using Qt5, is it a problem for me to use Qt4.8.4? If you have any suggestion for the Qt4.8.4 platform, please let me know.
Thanks, I was looking for a tutorial for do a small application than send some emails when I found this.
Thanks a lot
CONGRATULATIONS TO "This Guy!!!":http://morf.lv
He developed the most simple and useful Qt 5 compatible SMTP Client.
The last post is kinda long ago so I'm hoping the someone will read this:
I have an application which is required to send emails. So I setup a local mailserver and pulled bluetiger9's code here:
I was able to build a shared .dll file in release Mode. Its 120kb in size.
Could someone kindly help me out now on how I can use this dll in my application?
Lets say i want to use it in my application in debug Mode. It looks like it isnt enough to put the .dll file in the corresponding folder. Im not sure what extra info to include about what I've done. Please let me know
Hi and welcome to devnet,
Do you mean compile your application to use that library or use it when deploying your application ?
It's both I guess.
I want to use the functions that lib gives me in my code for my application.
When i deploy the application i usually have to provide all neccessary dll files in the same folder (libmysql.dll) for example. So no static linking if thats what you're referring to.
If you look at the github page of my first post. There is an example of its usage right on the front page. I'm trying to achieve to get this example to run properly.
After I made my first post I spent the rest of the night tinkering with it and I managed to get something going:
I saw that MinGW (I use MinGW)creates a .dll and a .a file. I copied both those files in the folder containing the project where there supposed to be used. I also copied the header files in the same folder.
Here is my .pro file:
QT += core QT -= gui TARGET = SMTPEmailTestDLL CONFIG += console CONFIG -= app_bundle TEMPLATE = app win32:CONFIG (release, debug|release): LIBS += -L$$PWD/ -lSMTPEmail else:win32:CONFIG (debug, debug|release): LIBS += -L$$PWD/ -lSMTPEMail else:unix: LIBS += -L$$PWD/ -lSMTPEmail INCLUDEPATH += $$PWD/ DEPENDPATH += $$PWD/ SOURCES += main.cpp
This actually enabled me to build and run the programm as seen on bluetiger9's github front page.
But, upon running it either terminates with return value -1073741515 or I get the message that "The process to debug couldnt be adressed: wrong parameter"
Weirdly, although receiving those messages, the programm sometimes actually sends an Email out to my gmail Account (be it with a wrong timestamp) as intended, but sometimes it just doenst.
So I might've done something wrong on the way.
I'm sorry if the information I'm giving is somewhat blurry. I appreciate you taking some time for this SGaist!
Nevermind, I got it fixed. Turns out you shouldnt rename the dll file after building it. Its name should be the same as specified in
I am using this with Qt 5.7. The email is successfuly sent but then I get this error in the end :
Server response code: "221"
Server response: "221 2.0.0 closing connection y144sm8277194wmd.18 - gsmtp\r\n"
error "The TLS/SSL connection has been closed"