Wt
4.11.1
|
An SMTP mail client. More...
#include <Wt/Mail/Client.h>
Public Member Functions | |
Client (const std::string &selfHost=std::string()) | |
Constructor. More... | |
~Client () | |
Destructor. More... | |
void | enableAuthentication (const std::string &username, const std::string &password, AuthenticationMethod method=AuthenticationMethod::Plain) |
Enables authentication. More... | |
AuthenticationMethod | authenticationMethod () const |
Returns the authentication method. More... | |
bool | authenticationEnabled () const |
Returns whether authentication is enabled. More... | |
void | setSslCertificateVerificationEnabled (bool enabled) |
Sets whether SSL certificate verification is enabled. More... | |
bool | isSslCertificateVerificationEnabled () const |
Gets whether SSL certificate verification is enabled. More... | |
void | setTransportEncryption (TransportEncryption method) |
Sets the transport encryption method. More... | |
TransportEncryption | transportEncryption () const |
Get the encryption method. More... | |
bool | connect () |
Connects to the default SMTP server. More... | |
bool | connect (const std::string &smtpHost, int smtpPort=25) |
Connects to a given STMP server and port. More... | |
void | disconnect () |
Disconnects the client from the SMTP server. | |
bool | send (const Message &message) |
Sends a message. More... | |
An SMTP mail client.
The SMTP client can send one or more mail messages to an SMTP host.
Only the bare essentials of the SMTP protocol are current implemented, although the Message itself supports proper unicode handling.
Wt::Mail::Client::Client | ( | const std::string & | selfHost = std::string() | ) |
Constructor.
The selfHost
is how the mail client will identify itself to the mail server, in the EHLO command.
If not defined, the "smtp-self-host" configuration property is used, and if that property is not defined, it defaults to "localhost".
Wt::Mail::Client::~Client | ( | ) |
Destructor.
If the client is still connected, this disconnects the client.
bool Wt::Mail::Client::authenticationEnabled | ( | ) | const |
Returns whether authentication is enabled.
AuthenticationMethod Wt::Mail::Client::authenticationMethod | ( | ) | const |
Returns the authentication method.
bool Wt::Mail::Client::connect | ( | ) |
Connects to the default SMTP server.
This connects to the SMTP server defined by the "smtp-host" property, on port defined by the "smtp-port" property. If these properties are not set, "localhost" and 25 are used as defaults respectively.
Returns whether the connection could be established and the SMTP hand-shake was successful.
bool Wt::Mail::Client::connect | ( | const std::string & | smtpHost, |
int | smtpPort = 25 |
||
) |
Connects to a given STMP server and port.
Returns whether the connection could be established and the SMTP hand-shake was successful.
void Wt::Mail::Client::enableAuthentication | ( | const std::string & | username, |
const std::string & | password, | ||
AuthenticationMethod | method = AuthenticationMethod::Plain |
||
) |
Enables authentication.
Enable authentication either through this method, or by specifying the following configuration properties:
"smtp-auth-method" can be one of: "none", "plain", or "login".
bool Wt::Mail::Client::isSslCertificateVerificationEnabled | ( | ) | const |
Gets whether SSL certificate verification is enabled.
bool Wt::Mail::Client::send | ( | const Message & | message | ) |
Sends a message.
The client must be connected before messages can be sent.
The function returns true on success, false on error. The reason for the error is logged in the log file.
void Wt::Mail::Client::setSslCertificateVerificationEnabled | ( | bool | enabled | ) |
Sets whether SSL certificate verification is enabled.
Defaults to true
void Wt::Mail::Client::setTransportEncryption | ( | TransportEncryption | method | ) |
Sets the transport encryption method.
The default is TransportEncryption::None
Enable transport encryption either through this method, or by specifying the "smtp-transport-encryption" configuration property. Its value can be one of: "none", "starttls", or "tls".
TransportEncryption Wt::Mail::Client::transportEncryption | ( | ) | const |
Get the encryption method.