/ocamlnet-3.5.1/src/smtp/netsmtp.mli
OCaml | 85 lines | 18 code | 17 blank | 50 comment | 0 complexity | 2baacb54fe07de85c59fa5f423e991ff MD5 | raw file
Possible License(s): GPL-2.0
- (* $Id: netsmtp.mli 847 2005-05-23 10:49:08Z mad_coder $
- * ----------------------------------------------------------------------
- *)
- (**
- * This is an interface for the Simple Mail Tranfer Protocol (SMTP)
- * as specified by RFC 2821.
- *)
- open Netchannels
- exception Protocol_error
- exception Transient_error of int * string
- exception Permanent_error of int * string
- val tcp_port : int
- (** default TCP port for SMTP *)
- (** The class [client] implements the SMTP protocol. Client objects are created
- * by
- * {[ new client in_ch out_ch]}
- * where [in_ch] is an input channel representing the input direction of the
- * TCP stream, and where [out_ch] is an output channel representing the output
- * direction of the TCP stream.
- *)
-
- class client :
- in_obj_channel -> out_obj_channel ->
- object
- method helo : ?host:string -> unit -> string list
- (** Sends an HELLO command to the server. the optionnal argument [?host]
- * defaults to the default hostname of the machine. This function returns
- * the ESMTP lines returned by the server.
- *)
- method mail : string -> unit
- (** Performs a MAIL FROM command. the [string] argument is the mail address
- * (without < >) that sends the mail.
- *)
- 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 : 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. *)
- end
- (* ======================================================================
- * History:
- *
- * $Log$
- * Revision 1.2 2005/05/23 10:49:08 mad_coder
- * add doc to netsmtp
- *
- *
- *)