Message UID (stable across sessions if uidValidity hasn't changed)
Message flags (e.g. ["\Seen", "\Flagged"])
OptionaldateInternal date of the message
OptionalsubjectSubject header
OptionalfromFrom addresses
OptionaltoTo addresses
OptionalccCC addresses
OptionalmessageMessage-ID header
OptionalinIn-Reply-To header (for threading)
OptionalreferencesReferences header (for threading)
OptionallistList-Id header (mailing-list identifier), when present.
OptionallistList-Unsubscribe header, when present.
OptionalprecedencePrecedence header (e.g. "bulk", "list", "auto_reply"), when present.
OptionalautoAuto-Submitted header (e.g. "auto-generated"), when present.
OptionalreturnReturn-Path header; "<>" typically marks a bounce/auto sender.
OptionalimportanceImportance header (e.g. "high"), when present.
OptionalxX-Priority header (legacy priority signal), when present.
OptionalauthenticationRaw Authentication-Results header values, one per hop that added one —
a message can carry several as it passes through multiple mail
exchangers. Select the value stamped by your own trusted receiving MTA
(by authserv-id) before relying on it for anything security-sensitive
(e.g. DMARC verification) — never trust an arbitrary/unfiltered entry,
which a sender could forge.
OptionalbodyPlain text body (when requested)
OptionalbodyHTML body (when requested)
OptionalsizeMessage size in bytes
OptionalattachmentsAttachment parts discovered from the message's BODYSTRUCTURE (populated
when body is fetched). Each entry describes one MIME part, not its bytes —
partNumber is the IMAP part number (e.g. "2" or "2.1") used to fetch that
part's content separately, and encoding is the part's own
Content-Transfer-Encoding.
contentId (angle brackets stripped) and inline describe how the part
was carried, so a body image the HTML embeds via cid: can be told apart
from a genuine attachment. A part sent without an explicit
Content-Disposition but with a Content-ID counts as inline — that is
how multipart/related images usually arrive.
A fetched message. Fields are populated based on ImapFetchOptions.