Priority Technical Documentation
From Milimail
> User Manual > Feature: Handling priority at the envelope level > Technical Documentation
Contents |
Feature: Handling priority at the envelope level - Technical Documentation
This feature uses the PRIORITY extension of a MTA (Mail Transfer Agent). It provides the ability to define a priority for a message.
5 levels of priority are defined:
- 0 - NONE
- 1 - ROUTINE
- 2 - PRIORITY
- 3 - IMMEDIATE
- 4 - FLASH
Implementation
Specifications
The reference for the implementation of this functionality is the RFC draft: draft-schmeing-smtp-priorities-04.txt.
Architecture
Synthetic presentation of the architecture of the extension
This functionality is integrated to the source code of Thunderbird, without relaying on an extension.
GUI files
The GUI has been updated so that the user can choose the priority level for the current message:
The choice of the user is encapsulated in a nsIMsgCompFields object. This objet is then forwarded to the XPCOM layer, which handles the request.
XPCOM files
The addition of the priority feature is implemented by modifying existing XPCOM classes.
Network communication
Example of a dialog between Milimail client and SMTP server supporting "PRIORITY" feature:
> EHLO [1.2.3.4] < 250-test.milimail.org < 250-PIPELINING < 250-STARTTLS < 250-PRIORITY > MAIL FROM:<user1@test.milimail.org> < 250 2.1.0 Ok > RCPT TO:<user2@test.milimail.org> PRIORITY=2 < 250 2.1.5 Ok > DATA ...



