sig
  type handle
  exception Error of int * string
  val connect : string -> Smtp.handle
  val close : Smtp.handle -> unit
  val helo : Smtp.handle -> string -> bool
  val mail : Smtp.handle -> string -> bool
  val rcpt : Smtp.handle -> string -> bool
  val data : Smtp.handle -> string -> bool
  val quit : Smtp.handle -> bool
end