⇤ ← Revision 1 as of 2009-11-03 21:13:59
Size: 3708
Comment:
|
Size: 3882
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 75: | Line 75: |
One of the sets of IANA data we need to pay attention to is the `list of charset identifiers`_. .. _list of charset identifiers: http://www.iana.org/assignments/character-sets |
|
Line 78: | Line 83: |
.. _rfc3986: http://tools.ietf.org/html/rfc3986 | __ _http://tools.ietf.org/html/rfc3986 |
RFCs of Relevance to the Email Package Implementation
Base Email RFCs
- rfc0733 Standard for the Format of ARPA Network Text Messages
- rfc0822 Standard for the Format of ARPA Internet Text Messages
- rfc2822 Internet Message Format
- rfc5322 Internet Message Format
Each of these RFC's obsoletes the one that came before [1], but often reference the earlier RFC. We must also pay attention to the obsolete formats because of the Postel principle
The parser should have two modes (or there should be two parsers): strict and lax. The lax parser (probably with optional logging) would be for everyday use in handling email received from other sources, the strict parser would be for validation and/or data produced by an application itself.
The email package should produce output that strictly conforms to RFC 5322.
Mime
- rfc2045 MIME Part One: Format of Internet Message Bodies
- rfc2046 MIME Part Two: Media Types
- rfc2047 MIME Part Three: Message Header Extensions for Non-ASCII Text
- rfc2048 MIME Part Four: Registration Procedures
- rfc2049 MIME Part Five: Conformance Criteria and Examples
- rfc2231 MIME Parameter Value and Encoded Word Extensions:
- Character Sets, Languages, and Continuations
Mailing List Headers
Additional Considerations
An auxiliary module should provide access to the registered IANA data specified by the RFCs. We make use of the data from the mimetimes module, which overlaps with this requirement, so we need to coordinate with the maintainers of that module [2].
One of the sets of IANA data we need to pay attention to is the list of charset identifiers.
We also make use of URLs (rfc3986), and will need to coordinate with the maintainers of urllib for that support.
We also need to be aware of the RFCs that are relevant to the modules that share concerns with the email package and/or are consumers of email package services:
HTTP
- RFC2616 Hypertext Transfer Protocol -- HTTP/1.1