class client :Netchannels.in_obj_channel -> Netchannels.out_obj_channel ->
object
..end
method helo : ?host:string -> unit -> string list
Sends an EHLO command to the server. The optional argument ?host
defaults to the default hostname of the machine. This function returns
the ESMTP lines returned by the server.
If EHLO is not supported, the method automatically falls back to HELO.
EHLO is specified in RFC 1869.
method helo_response : string list
The response from the last HELO or EHLO
method auth : Netsys_sasl.sasl_mechanism ->
string ->
string -> Netsys_sasl.credentials -> (string * string * bool) list -> unit
auth mech user authz creds params
:
Performs a SASL authentication using the AUTH command. See
Netsys_sasl.Client.create_session
for details.
Example:
client # auth
(module Netmech_digest_sasl.DIGEST_MD5)
"user"
""
[ "password", "sEcReT", [] ]
[]
method authenticated : bool
Whether the auth
command ran successfully
method mail : string -> unit
Performs a MAIL FROM command. The string
argument is the mail address
(without < >) of the sender.
method rcpt : string -> unit
Performs a RCPT TO command. the string
argument is one of the mail
address the mail has to be sent to. You have to use that function for
each recipient of the mail.
If the server returns a 551 error (user relocated, see RFC 2821, section 3.4), the relocated adress is silently used, and the error is not raised
method data : Netchannels.in_obj_channel -> unit
This method really send the mail.
Do not issue that command without having used mail
once, and at least
rcpt
once too
method rset : unit -> unit
Reset the current transaction
method expn : string -> string list option
Expand command : expn list
will try to expand the Mailing list
list
. If the list cannot be Expanded (reply 252) then None
is
returned.
method help : unit -> string list
Performs the Help command. Returns the server multiline answer.
method noop : unit -> unit
NOOP : does nothing, keeps the connection alive.
method quit : unit -> unit
Requests the server to end this session.
method close : unit -> unit
Closes the file descriptors
method starttls : peer_name:string option -> Netsys_crypto_types.tls_config -> unit
Sends STARTTLS, and negotiates a secure connection. This should only be done after EHLO, and only if "STARTTLS" is among the returned strings.
STARTTLS is specified in RFC 3207.
Note that it is meaningful to submit EHLO again after STARTTLS, as the server may now enable more options.
method command : string -> int * string list
Sends this command, and returns the status code and the status texts.
method tls_endpoint : Netsys_crypto_types.tls_endpoint option
Returns the TLS endpoint (after STARTTLS
)
method tls_session_props : Nettls_support.tls_session_props option
Returns the TLS session properties (after STARTTLS
)
method gssapi_props : Netsys_gssapi.client_props option
Returns GSSAPI properties, if available