TIdMessagePriority
TIdMessagePriority = (mpHighest, mpHigh, mpNormal, mpLow, mpLowest)
Example
procedure MarkUrgent(Message: TIdMessage);
begin
Message.Priority := mpHigh;
end;
Usage
TIdMessagePriority represents five mail-priority levels whose ordinals map directly to generated X-Priority values 1 through 5.
Members
| Value | Ordinal | Meaning |
|---|---|---|
mpHighest | 0 | Generates Priority: urgent, X-Priority: 1, Importance: high. |
mpHigh | 1 | Generates Priority: urgent, X-Priority: 2, Importance: high. |
mpNormal | 2 | Normal/default; generated priority headers are removed. |
mpLow | 3 | Generates Priority: non-urgent, X-Priority: 4, Importance: low. |
mpLowest | 4 | Generates Priority: non-urgent, X-Priority: 5, Importance: low. |
Behavior and boundaries
- Priority is advisory metadata. It does not guarantee queue order, delivery time, notification behavior or recipient presentation.
- Header parsing checks
X-Priority, thenPriority,Importance, andX-MSMail-Priority. - Text containing
urgent/highcollapses tompHighest; text containingnon-urgent/lowcollapses tompLowest. Numeric 1..5 preserves all five levels; invalid numbers become normal. - Receive precedence is
X-Priority,Priority,Importance, thenX-MSMail-Priority; a malformed higher-precedence value can mask a meaningful lower-precedence one. - Intermediate High/Low round-trip only while numeric X-Priority survives. Text-only round trips collapse them to Highest/Lowest.
- Generation owns the normal header list, but
ExtraHeadersis appended later and can reintroduce duplicate or contradictory priority fields. - Because
non-urgentcontainsurgent, the parser checksnon-urgentfirst. Preserve that order in any compatible parser. - The generated scalar property is independent of Velox
TvxLogStatusTypeand IMAPmfFlagged.
Additional Technical Info
TIdMessagePriority controls optional Priority, X-Priority and Importance headers generated by TIdMessage. The declaration runs from highest to lowest, so a smaller ordinal means a higher priority.
mpNormal is the default. Header generation deliberately removes all three priority headers for normal mail to reduce unnecessary/spam-sensitive metadata.
Related Code Library entries
- TIdMessage.Priority - exact header generation and parsing precedence.
- TIdMessage.GenerateHeader - when priority metadata is materialized.
- TIdMessage.ProcessHeaders - input header precedence and normalization.
External references
- RFC 5322 Internet Message Format - base message-header model; priority extensions are non-core fields.
- Embarcadero enumerated types - Delphi ordinal semantics.
- Free Pascal ordinal types - compatible enumeration concepts.