mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-16 02:03:07 -07: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:
parent
630871214f
commit
da412571e4
2 changed files with 23 additions and 0 deletions
|
@ -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());
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue