sig
type word = [ `Atom of string | `String of string ]
type local = MrMime_address.word list
type raw =
Rfc2047.raw =
QuotedPrintable of string
| Base64 of MrMime_base64.Decoder.result
type literal_domain = Rfc5321.literal_domain = ..
type literal_domain += IPv4 of Ipaddr.V4.t
type literal_domain += IPv6 of Ipaddr.V6.t
type phrase =
[ `Dot
| `Encoded of string * MrMime_address.raw
| `Word of MrMime_address.word ] list
type domain =
[ `Domain of string list | `Literal of MrMime_address.literal_domain ]
type mailbox =
Rfc5322.mailbox = {
name : MrMime_address.phrase option;
local : MrMime_address.local;
domain : MrMime_address.domain * MrMime_address.domain list;
}
type group =
Rfc5322.group = {
name : MrMime_address.phrase;
mailbox : MrMime_address.mailbox list;
}
type address =
[ `Group of MrMime_address.group | `Mailbox of MrMime_address.mailbox ]
val pp_word : Format.formatter -> MrMime_address.word -> unit
val pp_domain : Format.formatter -> MrMime_address.domain -> unit
val pp_phrase : Format.formatter -> MrMime_address.phrase -> unit
val pp_local : Format.formatter -> MrMime_address.local -> unit
val pp_mailbox' :
Format.formatter ->
MrMime_address.local *
(MrMime_address.domain * MrMime_address.domain list) -> unit
val pp_mailbox : Format.formatter -> MrMime_address.mailbox -> unit
val pp_group : Format.formatter -> MrMime_address.group -> unit
val pp : Format.formatter -> MrMime_address.address -> unit
module Encoder :
sig
val w_word :
(MrMime_address.word,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_domain :
(MrMime_address.domain,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_safe_string :
(string,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_raw :
(MrMime_address.raw,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_phrase :
(MrMime_address.phrase,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_local :
(MrMime_address.local,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_mailbox' :
(MrMime_address.local *
(MrMime_address.domain * MrMime_address.domain list),
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_mailbox :
(MrMime_address.mailbox,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_group :
(MrMime_address.group,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_address :
(MrMime_address.address,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
val w_addresses :
(MrMime_address.address list,
([> `Partial of Bytes.t * int * int * (int -> 'a) ] as 'a)
Encoder.partial)
Wrap.k1
end
module Decoder :
sig
val p_address : MrMime_address.address MrMime_parser.t
val p_addresses : MrMime_address.address list MrMime_parser.t
val p_local : MrMime_address.local MrMime_parser.t
val p_domain : MrMime_address.domain MrMime_parser.t
end
val to_string : MrMime_address.address -> string
val of_string : ?chunk:int -> string -> MrMime_address.address option
val of_string_raw :
?chunk:int ->
string -> int -> int -> (MrMime_address.address * int) option
val equal : MrMime_address.address -> MrMime_address.address -> bool
module List :
sig
val pp : Format.formatter -> MrMime_address.address list -> unit
val to_string : MrMime_address.address list -> string
val of_string :
?chunk:int -> string -> MrMime_address.address list option
val of_string_raw :
?chunk:int ->
string -> int -> int -> (MrMime_address.address list * int) option
val equal :
MrMime_address.address list -> MrMime_address.address list -> bool
end
module Make :
sig
type z = Z
type 'a s = S
type 'a word
type ('data, 'peano) llist
val word : string -> [ `Atom | `String ] MrMime_address.Make.word
val atom : string -> [> `Atom ] MrMime_address.Make.word
val e :
([> `Atom ] MrMime_address.Make.word, MrMime_address.Make.z)
MrMime_address.Make.llist
val ( & ) :
'a MrMime_address.Make.word ->
('a MrMime_address.Make.word, 'x) MrMime_address.Make.llist ->
('a MrMime_address.Make.word, 'x MrMime_address.Make.s)
MrMime_address.Make.llist
val ( @ ) :
([ `Atom | `String ] MrMime_address.Make.word,
'a MrMime_address.Make.s)
MrMime_address.Make.llist ->
([ `Atom ] MrMime_address.Make.word, 'b MrMime_address.Make.s)
MrMime_address.Make.llist -> MrMime_address.mailbox
end
module Extension :
sig
val add_literal_domain :
string -> MrMime_address.literal_domain MrMime_parser.t -> unit
end
end