SecureSMTPClientSession now uses _host from SMTPClientSession

This commit is contained in:
Günter Obiltschnig 2019-05-16 14:35:19 +02:00
parent 2086a497f5
commit ec8ea48062
3 changed files with 13 additions and 10 deletions

View File

@ -187,6 +187,7 @@ protected:
void loginUsingXOAUTH2(const std::string& username, const std::string& password);
void loginUsingNTLM(const std::string& username, const std::string& password);
DialogSocket& socket();
const std::string& host() const;
private:
void sendCommands(const MailMessage& message, const Recipients* pRecipients = 0);
@ -231,6 +232,12 @@ inline DialogSocket& SMTPClientSession::socket()
}
inline const std::string& SMTPClientSession::host() const
{
return _host;
}
} } // namespace Poco::Net

View File

@ -59,7 +59,7 @@ public:
/// Destroys the SMTPClientSession.
bool startTLS();
/// Sends a STARTTLS command and, if successful,
/// Sends a STARTTLS command and, if successful,
/// creates a secure SSL/TLS connection over the
/// existing socket connection.
///
@ -71,7 +71,7 @@ public:
/// false otherwise.
bool startTLS(Context::Ptr pContext);
/// Sends a STARTTLS command and, if successful,
/// Sends a STARTTLS command and, if successful,
/// creates a secure SSL/TLS connection over the
/// existing socket connection.
///
@ -84,9 +84,6 @@ public:
///
/// Returns true if the STARTTLS command was successful,
/// false otherwise.
private:
std::string _host;
};

View File

@ -29,8 +29,7 @@ SecureSMTPClientSession::SecureSMTPClientSession(const StreamSocket& socket):
SecureSMTPClientSession::SecureSMTPClientSession(const std::string& host, Poco::UInt16 port):
SMTPClientSession(host, port),
_host(host)
SMTPClientSession(host, port)
{
}
@ -50,13 +49,13 @@ bool SecureSMTPClientSession::startTLS(Context::Ptr pContext)
{
int status = 0;
std::string response;
status = sendCommand("STARTTLS", response);
if (!isPositiveCompletion(status)) return false;
SecureStreamSocket sss(SecureStreamSocket::attach(socket(), _host, pContext));
SecureStreamSocket sss(SecureStreamSocket::attach(socket(), host(), pContext));
socket() = sss;
return true;
}