Library: NetSSL_OpenSSL
Package: Mail
Header: Poco/Net/SecureSMTPClientSession.h
Description
This class implements an Simple Mail Transfer Protocol (SMTP, RFC 2821) client for sending e-mail messages that supports the STARTTLS command for secure connections.
Usage is as follows:
- Create a SecureSMTPClientSession object.
- Call login() or login(hostname).
- Call startTLS() to switch to a secure connection. Check the return value to see if a secure connection has actually been established (not all servers may support STARTTLS).
- Call any of the login() methods to securely authenticate with a username and password.
- Send the message(s).
Inheritance
Direct Base Classes: SMTPClientSession
All Base Classes: SMTPClientSession
Member Summary
Member Functions: startTLS
Inherited Functions: close, getTimeout, host, isPermanentNegative, isPositiveCompletion, isPositiveIntermediate, isTransientNegative, login, loginUsingCRAM, loginUsingCRAMMD5, loginUsingCRAMSHA1, loginUsingLogin, loginUsingNTLM, loginUsingPlain, loginUsingXOAUTH2, open, sendAddresses, sendCommand, sendData, sendMessage, setTimeout, socket
Constructors
SecureSMTPClientSession
explicit SecureSMTPClientSession(
const StreamSocket & socket
);
Creates the SecureSMTPClientSession using the given socket, which must be connected to a SMTP server.
SecureSMTPClientSession
SecureSMTPClientSession(
const std::string & host,
Poco::UInt16 port = SMTP_PORT
);
Creates the SecureSMTPClientSession using a socket connected to the given host and port.
Destructor
~SecureSMTPClientSession
virtual ~SecureSMTPClientSession();
Destroys the SMTPClientSession.
Member Functions
startTLS
bool startTLS();
Sends a STARTTLS command and, if successful, creates a secure SSL/TLS connection over the existing socket connection.
Must be called after login() or login(hostname). If successful, login() can be called again to authenticate the user.
Returns true if the STARTTLS command was successful, false otherwise.
startTLS
bool startTLS(
Context::Ptr pContext
);
Sends a STARTTLS command and, if successful, creates a secure SSL/TLS connection over the existing socket connection.
Uses the given Context object for creating the SSL/TLS connection.
Must be called after login() or login(hostname). If successful, login() can be called again to authenticate the user.
Returns true if the STARTTLS command was successful, false otherwise.