Wt  3.7.1
Public Member Functions | List of all members
Wt::Mail::Client Class Reference

An SMTP mail client. More...

#include <Wt/Mail/Client>

Public Member Functions

 Client (const std::string &selfHost=std::string())
 Constructor. More...
 
 ~Client ()
 Destructor. 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...
 

Detailed Description

An SMTP mail client.

The SMTP client can send one or more mail messages to an SMTP host.

#include <Wt/Mail/Client>
#include <Wt/Mail/Message>
Mail::Message message;
message.setFrom(Mail::Mailbox("kudos@corp.org", "Kudos Dukos"));
message.addRecipient(Mail::To, Mail::Mailbox("koen@emweb.be", "Koen Deforche"));
message.setSubject("Hey there, koen!");
message.setBody("That mail client seems to be working.");
message.addHtmlBody ("<p>"
"<a href=\"http://www.webtoolkit.eu/wt\">That mail client</a>"
" seems to be working just great!</p>");
Mail::Client client;
client.connect("localhost");
client.send(message);

Only the bare essentials of the SMTP protocol are current implemented, although the Message itself supports proper unicode handling.

Note
Currently only a plain-text SMTP protocol is supported. SSL transport will be added in the future.
Currently the client sends an email synchronously, and thus a slow connection to the SMTP server may block the current thread. We plan to change this in the future. It is thus beneficial to connect to a local SMTP daemon to minimize this deficiency.

Constructor & Destructor Documentation

◆ Client()

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".

◆ ~Client()

Wt::Mail::Client::~Client ( )

Destructor.

If the client is still connected, this disconnects the client.

Member Function Documentation

◆ connect() [1/2]

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.

◆ connect() [2/2]

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.

◆ send()

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.


Generated on Tue Dec 15 2020 for the C++ Web Toolkit (Wt) by doxygen 1.8.13