Ocamlnet 4 Reference Manual : Netmime

`sig
type store = [ `File of string | `Memory ]
exception Immutable of string
class type mime_header_ro =
object
method field : string -> string
method fields : (string * string) list
method multiple_field : string -> string list
end
class type mime_header =
object
method delete_field : string -> unit
method field : string -> string
method fields : (string * string) list
method multiple_field : string -> string list
method ro : bool
method set_fields : (string * string) list -> unit
method update_field : string -> string -> unit
method update_multiple_field : string -> string list -> unit
end
class type mime_body_ro =
object
method finalize : unit -> unit
method open_value_rd : unit -> Netchannels.in_obj_channel
method store : Netmime.store
method value : string
end
class type mime_body =
object
method finalize : unit -> unit
method open_value_rd : unit -> Netchannels.in_obj_channel
method open_value_wr : unit -> Netchannels.out_obj_channel
method ro : bool
method set_value : string -> unit
method store : store
method value : string
end
type complex_mime_message = Netmime.mime_header * Netmime.complex_mime_body
and complex_mime_body =
[ `Body of Netmime.mime_body
| `Parts of Netmime.complex_mime_message list ]
type complex_mime_message_ro =
Netmime.mime_header_ro * Netmime.complex_mime_body_ro
and complex_mime_body_ro =
[ `Body of Netmime.mime_body_ro
| `Parts of Netmime.complex_mime_message_ro list ]
type mime_message = Netmime.mime_header * [ `Body of Netmime.mime_body ]
type mime_message_ro =
Netmime.mime_header_ro * [ `Body of Netmime.mime_body_ro ]
class basic_mime_header : (string * string) list -> mime_header
val basic_mime_header : (string * string) list -> Netmime.mime_header
class wrap_mime_header : #Netmime.mime_header -> mime_header
class wrap_mime_header_ro : #Netmime.mime_header_ro -> mime_header
val wrap_mime_header_ro : #Netmime.mime_header_ro -> Netmime.mime_header
class memory_mime_body : string -> mime_body
val memory_mime_body : string -> Netmime.mime_body
class file_mime_body : ?fin:bool -> string -> mime_body
val file_mime_body : ?fin:bool -> string -> Netmime.mime_body
class wrap_mime_body : #Netmime.mime_body -> mime_body
class wrap_mime_body_ro : #Netmime.mime_body_ro -> mime_body
val wrap_mime_body_ro : #Netmime.mime_body_ro -> Netmime.mime_body
val wrap_complex_mime_message_ro :
Netmime.complex_mime_message_ro -> Netmime.complex_mime_message
end`