[][src]Struct melib::email::Envelope

pub struct Envelope {
    pub hash: EnvelopeHash,
    pub date: String,
    pub timestamp: UnixTimestamp,
    pub from: SmallVec<[Address; 1]>,
    pub to: SmallVec<[Address; 1]>,
    pub cc: SmallVec<[Address; 1]>,
    pub bcc: Vec<Address>,
    pub subject: Option<String>,
    pub message_id: MessageID,
    pub in_reply_to: Option<MessageID>,
    pub references: Option<References>,
    pub other_headers: HeaderMap,
    pub thread: ThreadNodeHash,
    pub flags: Flag,
    pub has_attachments: bool,
    pub labels: SmallVec<[u64; 8]>,
}

Envelope represents all the header and structure data of an email we need to know.

Attachments (the email's body) is parsed on demand with body method.

To access the email attachments, you need to parse them from the raw email bytes into an Attachment object.

Fields

hash: EnvelopeHashdate: Stringtimestamp: UnixTimestampfrom: SmallVec<[Address; 1]>to: SmallVec<[Address; 1]>cc: SmallVec<[Address; 1]>bcc: Vec<Address>subject: Option<String>message_id: MessageIDin_reply_to: Option<MessageID>references: Option<References>other_headers: HeaderMapthread: ThreadNodeHashflags: Flaghas_attachments: boollabels: SmallVec<[u64; 8]>

Implementations

impl Envelope[src]

pub fn new(hash: EnvelopeHash) -> Self[src]

pub fn set_hash(&mut self, new_hash: EnvelopeHash)[src]

pub fn from_bytes(bytes: &[u8], flags: Option<Flag>) -> Result<Envelope>[src]

pub fn hash(&self) -> EnvelopeHash[src]

pub fn populate_headers(&mut self, bytes: &[u8]) -> Result<()>[src]

pub fn date(&self) -> UnixTimestamp[src]

pub fn datetime(&self) -> UnixTimestamp[src]

pub fn date_as_str(&self) -> &str[src]

pub fn from(&self) -> &[Address][src]

pub fn field_bcc_to_string(&self) -> String[src]

pub fn field_cc_to_string(&self) -> String[src]

pub fn field_from_to_string(&self) -> String[src]

pub fn to(&self) -> &[Address][src]

pub fn field_to_to_string(&self) -> String[src]

pub fn field_references_to_string(&self) -> String[src]

pub fn body_bytes(&self, bytes: &[u8]) -> Attachment[src]

pub fn headers<'a>(&self, bytes: &'a [u8]) -> Result<Vec<(&'a str, &'a str)>>[src]

pub fn subject(&self) -> Cow<'_, str>[src]

pub fn in_reply_to(&self) -> Option<&MessageID>[src]

pub fn in_reply_to_display(&self) -> Option<Cow<'_, str>>[src]

pub fn in_reply_to_raw(&self) -> Option<Cow<'_, str>>[src]

pub fn message_id(&self) -> &MessageID[src]

pub fn message_id_display(&self) -> Cow<'_, str>[src]

pub fn message_id_raw(&self) -> Cow<'_, str>[src]

pub fn set_date(&mut self, new_val: &[u8])[src]

pub fn set_bcc(&mut self, new_val: Vec<Address>)[src]

pub fn set_cc(&mut self, new_val: SmallVec<[Address; 1]>)[src]

pub fn set_from(&mut self, new_val: SmallVec<[Address; 1]>)[src]

pub fn set_to(&mut self, new_val: SmallVec<[Address; 1]>)[src]

pub fn set_in_reply_to(&mut self, new_val: &[u8])[src]

pub fn set_subject(&mut self, new_val: Vec<u8>)[src]

pub fn set_message_id(&mut self, new_val: &[u8])[src]

pub fn push_references(&mut self, new_ref: MessageID)[src]

pub fn set_references(&mut self, new_val: &[u8])[src]

pub fn references(&self) -> SmallVec<[&MessageID; 8]>[src]

pub fn other_headers(&self) -> &HeaderMap[src]

pub fn other_headers_mut(&mut self) -> &mut HeaderMap[src]

pub fn thread(&self) -> ThreadNodeHash[src]

pub fn set_thread(&mut self, new_val: ThreadNodeHash)[src]

pub fn set_datetime(&mut self, new_val: UnixTimestamp)[src]

pub fn set_flag(&mut self, f: Flag, value: bool)[src]

pub fn set_flags(&mut self, f: Flag)[src]

pub fn flags(&self) -> Flag[src]

pub fn set_seen(&mut self)[src]

pub fn set_unseen(&mut self)[src]

pub fn is_seen(&self) -> bool[src]

pub fn set_has_attachments(&mut self, new_val: bool)[src]

pub fn has_attachments(&self) -> bool[src]

pub fn labels(&self) -> &SmallVec<[u64; 8]>[src]

pub fn labels_mut(&mut self) -> &mut SmallVec<[u64; 8]>[src]

Trait Implementations

impl Clone for Envelope[src]

impl Debug for Envelope[src]

impl Default for Envelope[src]

impl<'de> Deserialize<'de> for Envelope[src]

impl Eq for Envelope[src]

impl From<EmailObject> for Envelope[src]

impl FromSql for Envelope[src]

impl Ord for Envelope[src]

impl PartialEq<Envelope> for Envelope[src]

impl PartialOrd<Envelope> for Envelope[src]

impl QueryTrait for Envelope[src]

impl Serialize for Envelope[src]

impl ToSql for Envelope[src]

Auto Trait Implementations

impl RefUnwindSafe for Envelope

impl Send for Envelope

impl Sync for Envelope

impl Unpin for Envelope

impl UnwindSafe for Envelope

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]