mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-19 23:17:21 -06:00
Better error handling with smtp communication.
Adds log messages for a number of situations where sending an email will silently fail, in particular when attempting to create an unencrypted connection to an SMTP server that requires SSL
This commit is contained in:
@@ -97,6 +97,13 @@ Smtp::Smtp(QObject *parent)
|
||||
, m_useSsl(false)
|
||||
, m_authType(AuthPlain)
|
||||
{
|
||||
static bool needToRegisterMetaType = true;
|
||||
|
||||
if (needToRegisterMetaType) {
|
||||
qRegisterMetaType<QAbstractSocket::SocketError>();
|
||||
needToRegisterMetaType = false;
|
||||
}
|
||||
|
||||
#ifndef QT_NO_OPENSSL
|
||||
m_socket = new QSslSocket(this);
|
||||
#else
|
||||
@@ -105,6 +112,7 @@ Smtp::Smtp(QObject *parent)
|
||||
|
||||
connect(m_socket, SIGNAL(readyRead()), SLOT(readyRead()));
|
||||
connect(m_socket, SIGNAL(disconnected()), SLOT(deleteLater()));
|
||||
connect(m_socket, SIGNAL(error(QAbstractSocket::SocketError)), SLOT(error(QAbstractSocket::SocketError)));
|
||||
|
||||
// Test hmacMD5 function (http://www.faqs.org/rfcs/rfc2202.html)
|
||||
Q_ASSERT(hmacMD5("Jefe", "what do ya want for nothing?").toHex()
|
||||
@@ -525,3 +533,11 @@ QString Smtp::getCurrentDateTime() const
|
||||
QString ret = weekDayStr + ", " + dayStr + " " + monthStr + " " + yearStr + " " + timeStr + " " + timeOffsetStr;
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Smtp::error(QAbstractSocket::SocketError socketError)
|
||||
{
|
||||
// Getting a remote host closed error is apparently normal, even when successfully sending
|
||||
// an email
|
||||
if (socketError != QAbstractSocket::RemoteHostClosedError)
|
||||
logError(m_socket->errorString());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user