sig
type field_message = Top.field_message
type field_part = Top.field_part
type ('a, 'b) message =
('a, 'b) Top.message =
Discrete of MrMime_content.t * MrMime_message.field_message list * 'a
| Extension of MrMime_content.t * MrMime_message.field_message list * 'b
| Multipart of MrMime_content.t * MrMime_message.field_message list *
(MrMime_content.t * MrMime_message.field_part list *
('a, 'b) MrMime_message.part option)
list
| Message of MrMime_content.t * MrMime_message.field_message list *
MrMime_header.header * ('a, 'b) MrMime_message.message
and ('a, 'b) part =
('a, 'b) Top.part =
PDiscrete of 'a
| PExtension of 'b
| PMultipart of
(MrMime_content.t * MrMime_message.field_part list *
('a, 'b) MrMime_message.part option)
list
| PMessage of MrMime_header.header * ('a, 'b) MrMime_message.message
type encoding = ..
type encoding += Base64 of MrMime_base64.Decoder.result
type encoding += QuotedPrintable of string
type encoding += Raw of string
type content = ..
type content += Unit
module Decoder :
sig
val p_message :
(MrMime_header.header *
(MrMime_message.encoding, MrMime_message.content)
MrMime_message.message)
MrMime_parser.t
val p_header :
(MrMime_header.header * MrMime_content.t *
[ `Bcc of Rfc5322.address list
| `Cc of Rfc5322.address list
| `Comments of Rfc5322.unstructured
| `Content of string * Rfc5322.unstructured
| `ContentDescription of Rfc5322.unstructured
| `ContentEncoding of Rfc2045.mechanism
| `ContentID of Rfc822.msg_id
| `ContentType of Rfc2045.content
| `Date of Rfc5322.date
| `Field of string * Rfc5322.unstructured
| `From of Rfc5322.mailbox list
| `InReplyTo of Rfc5322.phrase_or_msg_id list
| `Keywords of Rfc5322.phrase list
| `MessageID of Rfc822.msg_id
| `MimeVersion of Rfc2045.version
| `References of Rfc5322.phrase_or_msg_id list
| `ReplyTo of Rfc5322.address list
| `ResentBcc of Rfc5322.address list
| `ResentCc of Rfc5322.address list
| `ResentDate of Rfc5322.date
| `ResentFrom of Rfc5322.mailbox list
| `ResentMessageID of Rfc822.msg_id
| `ResentReplyTo of Rfc5322.address list
| `ResentSender of Rfc5322.mailbox
| `ResentTo of Rfc5322.address list
| `Sender of Rfc5322.mailbox
| `Skip of string
| `Subject of Rfc5322.unstructured
| `To of Rfc5322.address list
| `Trace of
(Rfc822.local * (Rfc5322.domain * Rfc5322.domain list)) option *
([ `Addr of
Rfc822.local * (Rfc5322.domain * Rfc5322.domain list)
| `Domain of Rfc5322.domain
| `Word of Rfc822.word ] list * Rfc5322.date option)
list
| `Unsafe of string * Rfc5322.unstructured ] list)
MrMime_parser.t
val p_first_part :
MrMime_content.t ->
(MrMime_content.t *
[ `Bcc of Rfc5322.address list
| `Cc of Rfc5322.address list
| `Comments of Rfc5322.unstructured
| `Content of string * Rfc5322.unstructured
| `ContentDescription of Rfc5322.unstructured
| `ContentEncoding of Rfc2045.mechanism
| `ContentID of Rfc822.msg_id
| `ContentType of Rfc2045.content
| `Date of Rfc5322.date
| `Field of string * Rfc5322.unstructured
| `From of Rfc5322.mailbox list
| `InReplyTo of Rfc5322.phrase_or_msg_id list
| `Keywords of Rfc5322.phrase list
| `MessageID of Rfc822.msg_id
| `MimeVersion of Rfc2045.version
| `References of Rfc5322.phrase_or_msg_id list
| `ReplyTo of Rfc5322.address list
| `ResentBcc of Rfc5322.address list
| `ResentCc of Rfc5322.address list
| `ResentDate of Rfc5322.date
| `ResentFrom of Rfc5322.mailbox list
| `ResentMessageID of Rfc822.msg_id
| `ResentReplyTo of Rfc5322.address list
| `ResentSender of Rfc5322.mailbox
| `ResentTo of Rfc5322.address list
| `Sender of Rfc5322.mailbox
| `Skip of string
| `Subject of Rfc5322.unstructured
| `To of Rfc5322.address list
| `Trace of
(Rfc822.local * (Rfc5322.domain * Rfc5322.domain list)) option *
([ `Addr of
Rfc822.local * (Rfc5322.domain * Rfc5322.domain list)
| `Domain of Rfc5322.domain
| `Word of Rfc822.word ] list * Rfc5322.date option)
list
| `Unsafe of string * Rfc5322.unstructured ] list)
MrMime_parser.t
val p_next_part :
MrMime_content.t ->
(MrMime_content.t *
[ `Bcc of Rfc5322.address list
| `Cc of Rfc5322.address list
| `Comments of Rfc5322.unstructured
| `Content of string * Rfc5322.unstructured
| `ContentDescription of Rfc5322.unstructured
| `ContentEncoding of Rfc2045.mechanism
| `ContentID of Rfc822.msg_id
| `ContentType of Rfc2045.content
| `Date of Rfc5322.date
| `Field of string * Rfc5322.unstructured
| `From of Rfc5322.mailbox list
| `InReplyTo of Rfc5322.phrase_or_msg_id list
| `Keywords of Rfc5322.phrase list
| `MessageID of Rfc822.msg_id
| `MimeVersion of Rfc2045.version
| `References of Rfc5322.phrase_or_msg_id list
| `ReplyTo of Rfc5322.address list
| `ResentBcc of Rfc5322.address list
| `ResentCc of Rfc5322.address list
| `ResentDate of Rfc5322.date
| `ResentFrom of Rfc5322.mailbox list
| `ResentMessageID of Rfc822.msg_id
| `ResentReplyTo of Rfc5322.address list
| `ResentSender of Rfc5322.mailbox
| `ResentTo of Rfc5322.address list
| `Sender of Rfc5322.mailbox
| `Skip of string
| `Subject of Rfc5322.unstructured
| `To of Rfc5322.address list
| `Trace of
(Rfc822.local * (Rfc5322.domain * Rfc5322.domain list)) option *
([ `Addr of
Rfc822.local * (Rfc5322.domain * Rfc5322.domain list)
| `Domain of Rfc5322.domain
| `Word of Rfc822.word ] list * Rfc5322.date option)
list
| `Unsafe of string * Rfc5322.unstructured ] list)
MrMime_parser.t
val p_bound_of_content :
MrMime_content.t -> unit MrMime_parser.t * unit MrMime_parser.t
val p_store_part :
MrMime_content.t ->
MrMime_content.t ->
[ `End of MrMime_message.encoding option
| `Next of MrMime_message.encoding option ] MrMime_parser.t
val p_discard_part :
MrMime_content.t -> [ `End | `Next ] MrMime_parser.t
val p_end_of_part :
MrMime_content.t -> [ `End | `Next ] MrMime_parser.t
end
module Extension :
sig
val add_encoding :
string ->
(unit MrMime_parser.t ->
unit MrMime_parser.t -> MrMime_message.encoding MrMime_parser.t) ->
unit
val add_content :
string ->
(string option ->
MrMime_content.t ->
MrMime_message.field_message list ->
MrMime_message.content MrMime_parser.t) ->
unit
end
val of_string_raw :
?chunk:int ->
string ->
int ->
int ->
((MrMime_header.header *
(MrMime_message.encoding, MrMime_message.content)
MrMime_message.message) *
int)
option
end