Wt 3.3.12
Loading...
Searching...
No Matches
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.
 
 ~Client ()
 Destructor.
 
bool connect ()
 Connects to the default SMTP server.
 
bool connect (const std::string &smtpHost, int smtpPort=25)
 Connects to a given STMP server and port.
 
void disconnect ()
 Disconnects the client from the SMTP server.
 
bool send (const Message &message)
 Sends a message.
 

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);
An SMTP mail client.
Definition Client:62
bool connect()
Connects to the default SMTP server.
Definition Client.C:202
bool send(const Message &message)
Sends a message.
Definition Client.C:238
An email sender or recipient mailbox.
Definition Mailbox:22
A mail message.
Definition Message:46
void setFrom(const Mailbox &from)
Sets the sender mailbox.
Definition Message.C:57
void addHtmlBody(const WString &text)
Adds an HTML body.
Definition Message.C:84
void addRecipient(RecipientType type, const Mailbox &recipient)
Adds a recipient.
Definition Message.C:77
void setSubject(const WString &subject)
Sets a subject.
Definition Message.C:67
void setBody(const WString &text)
Sets the plain text body.
Definition Message.C:72
@ To
To: recipient.
Definition Message:24

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 Fri May 17 2024 for the C++ Web Toolkit (Wt) by doxygen 1.9.8