Enum imap_types::fetch::MessageDataItem
source · pub enum MessageDataItem<'a> {
Show 13 variants
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),
Binary {
section: Vec<NonZeroU32>,
value: NString8<'a>,
},
BinarySize {
section: Vec<NonZeroU32>,
size: u32,
},
}
Expand description
Message data item.
Variants§
Body(BodyStructure<'a>)
A form of BODYSTRUCTURE
without extension data.
BODY
BodyExt
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.
BODYSTRUCTURE
Envelope(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.
ENVELOPE
Flags(Vec<FlagFetch<'a>>)
A list of flags that are set for a message.
FLAGS
InternalDate(DateTime)
A string representing the internal date of a message.
INTERNALDATE
Rfc822(NString<'a>)
Equivalent to BODY[]
.
RFC822
Rfc822Header(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.HEADER
Rfc822Size(u32)
A number expressing the [RFC-2822] size of a message.
RFC822.SIZE
Rfc822Text(NString<'a>)
Equivalent to BODY[TEXT]
.
RFC822.TEXT
Uid(NonZeroU32)
A number expressing the unique identifier of a message.
UID
Binary
BinarySize
Trait 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§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
.source§impl<'a> PartialEq for MessageDataItem<'a>
impl<'a> PartialEq for MessageDataItem<'a>
source§impl<'a> Serialize for MessageDataItem<'a>
impl<'a> Serialize for MessageDataItem<'a>
source§impl<'a> ToBoundedStatic for MessageDataItem<'a>
impl<'a> ToBoundedStatic for MessageDataItem<'a>
impl<'a> Eq for MessageDataItem<'a>
impl<'a> StructuralPartialEq for MessageDataItem<'a>
Auto Trait Implementations§
impl<'a> Freeze for MessageDataItem<'a>
impl<'a> RefUnwindSafe for MessageDataItem<'a>
impl<'a> Send for MessageDataItem<'a>
impl<'a> Sync for MessageDataItem<'a>
impl<'a> Unpin for MessageDataItem<'a>
impl<'a> UnwindSafe for MessageDataItem<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)