class

SmtpClient

class SmtpClient : Obj

SmtpClient implements the client side of SMTP (Simple Mail Transport Protocol) as specified by RFC 2821.

See pod doc and examples.

fields socketConfig

The SocketConfig to use for creating sockets

password

Password to use for authentication, or null to skip authentication

port

TCP port number of server, defaults to 25

host

DNS hostname of server

ssl

Open connection using SSL/TLS (ensure port is configured properly)

username

Username to use for authentication, or null to skip authentication

methods authCramMd5

Authenticate using CRAM-MD5 mechanism

authenticate

Authenticate using the strongest mechanism which both the server and myself support

authLogin

Authenticate using LOGIN mechanism

isClosed

Return true if there is no open session

close

Close the session to the SMTP server

send

Send the email to the SMTP server

authPlain

Authenticate using PLAIN mechanism

open

Open a session to the SMTP server

authCramMd5 Void authCramMd5()

Authenticate using CRAM-MD5 mechanism.

authLogin Void authLogin()

Authenticate using LOGIN mechanism.

authPlain Void authPlain()

Authenticate using PLAIN mechanism.

authenticate Void authenticate()

Authenticate using the strongest mechanism which both the server and myself support.

close Void close()

Close the session to the SMTP server. Do nothing if session already closed.

host Str? : host

DNS hostname of server.

isClosed Bool isClosed()

Return true if there is no open session.

open Void open()

Open a session to the SMTP server. If username and password are configured, then SMTP authentication is attempted. Throw SmtpErr if there is a protocol error. Throw IOErr is there is a network problem.

password Str? : password

Password to use for authentication, or null to skip authentication.

port Int : port

TCP port number of server, defaults to 25.

send Void send(Email email)

Send the email to the SMTP server. Throw SmtpErr if there is a protocol error. Throw IOErr if there is a networking problem. If the session is closed, then this call automatically opens the session and guarantees a close after it is complete.

socketConfig SocketConfig : socketConfig

The SocketConfig to use for creating sockets.

ssl Bool : ssl

Open connection using SSL/TLS (ensure port is configured properly). If false then the connection is opened plaintext, but may still be upgraded to TLS if server specifies STARTTLS.

username Str? : username

Username to use for authentication, or null to skip authentication.

Haxall 4.0.5 ∙ 24-Feb-2026 14:33 EST