diff --git a/src/smtpclient.cpp b/src/smtpclient.cpp index 7370a78..af77207 100644 --- a/src/smtpclient.cpp +++ b/src/smtpclient.cpp @@ -420,7 +420,16 @@ bool SmtpClient::sendMail(MimeMessage& email) void SmtpClient::quit() { - sendMessage("QUIT"); + try + { + sendMessage("QUIT"); + } + catch(SmtpClient::SendMessageTimeoutException) + { + //Manually close the connection to the smtp server if message "QUIT" wasn't received by the smtp server + if(socket->state() == QAbstractSocket::ConnectedState || socket->state() == QAbstractSocket::ConnectingState || socket->state() == QAbstractSocket::HostLookupState) + socket->disconnectFromHost(); + } } /* [3] --- */