
SmtpClient implements the client side of SMTP (Simple Mail Transport Protocol) as specified by RFC 2821.
See docLib for details. See docCookbook for coding examples.
Slots
- 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.
-
private Str[] auths
- 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.
- log
-
Log log := Log.get("smtp")
Log for tracing
- 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 := 25
TCP port number of server, defaults to 25.
- readExts
-
Query the reply lines to figure out which extensions the server supports that we might use.
-
private SmtpRes readRes()
Read a single or multi-line reply from the server.
- send
-
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.
-
private TcpSocket sock
- username
-
Str username
Username to use for authentication, or null to skip authentication.
-
private Void writeReq(Str req)
Write a request line to the server.