pub enum MessageDataItem<'a> {
Body(BodyStructure<'a>),
BodyExt {
section: Option<Section<'a>>,
origin: Option<u32>,
data: NString<'a>,
},
BodyStructure(BodyStructure<'a>),
Envelope(Envelope<'a>),
Flags(Vec<FlagFetch<'a>>),
InternalDate(DateTime),
Rfc822(NString<'a>),
Rfc822Header(NString<'a>),
Rfc822Size(u32),
Rfc822Text(NString<'a>),
Uid(NonZeroU32),
}Expand description
Message data item.
Variants§
Body(BodyStructure<'a>)
A form of BODYSTRUCTURE without extension data.
BODYBodyExt
The body contents of the specified section.
8-bit textual data is permitted if a [CHARSET] identifier is part of the body parameter parenthesized list for this section. Note that headers (part specifiers HEADER or MIME, or the header portion of a MESSAGE/RFC822 part), MUST be 7-bit; 8-bit characters are not permitted in headers. Note also that the [RFC-2822] delimiting blank line between the header and the body is not affected by header line subsetting; the blank line is always included as part of header data, except in the case of a message which has no body and no blank line.
Non-textual data such as binary data MUST be transfer encoded into a textual form, such as BASE64, prior to being sent to the client. To derive the original binary data, the client MUST decode the transfer encoded string.
BODY[<section>]<<origin octet>>Fields
origin: Option<u32>If the origin octet is specified, this string is a substring of
the entire body contents, starting at that origin octet. This
means that BODY[]<0> MAY be truncated, but BODY[] is NEVER
truncated.
Note: The origin octet facility MUST NOT be used by a server
in a FETCH response unless the client specifically requested
it by means of a FETCH of a BODY[<section>]<<partial>> data
item.
BodyStructure(BodyStructure<'a>)
The [MIME-IMB] body structure of a message.
This is computed by the server by parsing the [MIME-IMB] header fields, defaulting various fields as necessary.
BODYSTRUCTUREEnvelope(Envelope<'a>)
The envelope structure of a message.
This is computed by the server by parsing the [RFC-2822] header into the component parts, defaulting various fields as necessary.
ENVELOPEFlags(Vec<FlagFetch<'a>>)
A list of flags that are set for a message.
FLAGSInternalDate(DateTime)
A string representing the internal date of a message.
INTERNALDATERfc822(NString<'a>)
Equivalent to BODY[].
RFC822Rfc822Header(NString<'a>)
Equivalent to BODY[HEADER].
Note that this did not result in \Seen being set, because RFC822.HEADER response data
occurs as a result of a FETCH of RFC822.HEADER. BODY[HEADER] response data occurs as a
result of a FETCH of BODY[HEADER] (which sets \Seen) or BODY.PEEK[HEADER] (which
does not set \Seen).
RFC822.HEADERRfc822Size(u32)
A number expressing the [RFC-2822] size of a message.
RFC822.SIZERfc822Text(NString<'a>)
Equivalent to BODY[TEXT].
RFC822.TEXTUid(NonZeroU32)
A number expressing the unique identifier of a message.
UIDTrait Implementations§
Source§impl<'a, 'arbitrary: 'a> Arbitrary<'arbitrary> for MessageDataItem<'a>
impl<'a, 'arbitrary: 'a> Arbitrary<'arbitrary> for MessageDataItem<'a>
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured this type
needs to construct itself. Read moreSource§impl<'a> Clone for MessageDataItem<'a>
impl<'a> Clone for MessageDataItem<'a>
Source§fn clone(&self) -> MessageDataItem<'a>
fn clone(&self) -> MessageDataItem<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a> Debug for MessageDataItem<'a>
impl<'a> Debug for MessageDataItem<'a>
Source§impl<'de, 'a> Deserialize<'de> for MessageDataItem<'a>
impl<'de, 'a> Deserialize<'de> for MessageDataItem<'a>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a> Hash for MessageDataItem<'a>
impl<'a> Hash for MessageDataItem<'a>
Source§impl<'a> IntoBoundedStatic for MessageDataItem<'a>
impl<'a> IntoBoundedStatic for MessageDataItem<'a>
Source§type Static = MessageDataItem<'static>
type Static = MessageDataItem<'static>
'static lifetime.Source§fn into_static(self) -> Self::Static
fn into_static(self) -> Self::Static
T into an owned T such that T: 'static.