Message
mail_intake.models.message
Message domain models for Mail Intake.
This module defines the canonical, provider-agnostic representation of an individual email message as used internally by the Mail Intake ingestion pipeline.
Models in this module are safe to persist and must not contain any provider-specific fields or semantics.
MailIntakeMessage
dataclass
MailIntakeMessage(message_id: str, thread_id: str, timestamp: datetime, from_email: str, from_name: Optional[str], subject: str, body_text: str, snippet: str, raw_headers: Dict[str, str])
Canonical internal representation of a single email message.
This model represents a fully parsed and normalized email message. It is intentionally provider-agnostic and suitable for persistence, indexing, and downstream processing.
No provider-specific identifiers, payloads, or API semantics should appear in this model.
body_text
instance-attribute
body_text: str
Extracted plain-text body content of the message.
from_email
instance-attribute
from_email: str
Sender email address.
from_name
instance-attribute
from_name: Optional[str]
Optional human-readable sender name.
message_id
instance-attribute
message_id: str
Provider-specific message identifier.
raw_headers
instance-attribute
raw_headers: Dict[str, str]
Normalized mapping of message headers (header name → value).
snippet
instance-attribute
snippet: str
Short provider-supplied preview snippet of the message.
subject
instance-attribute
subject: str
Raw subject line of the message.
thread_id
instance-attribute
thread_id: str
Provider-specific thread identifier to which this message belongs.
timestamp
instance-attribute
timestamp: datetime
Message timestamp as a timezone-naive UTC datetime.