Дорожная карта разумно короткая.Начните с IMAP 4rev1 RFC, RFC 3501 .У него есть приложение Normative References
, в котором перечислены все RFC, от которых он напрямую зависит, и ссылки на эти RFC в соответствующих местах в документе.
Действительно важные - вы можетепрочитайте их в следующем порядке: формат сообщений Интернета (я бы рекомендовал RFC 5322 вместо RFC 2822, чтобы быть более актуальным), MIME RFC ( RFC 2045 2046 и 2047 ), расположение содержимого ( RFC 2183 ), TLS ( RFC 2595 ) и UTF-7 ( RFC 2152 ) для обработки имен папок, не относящихся к ASCII.
После того, как базовый протокол закончен, вам нужно начать смотреть на расширения.Некоторые из них сделают вашу жизнь намного проще ... когда сервер также оказывает поддержку.Вам определенно понадобятся IDLE ( RFC 2177 ) и UIDPLUS ( RFC 4315 ).SORT ( RFC 5256 ) также хорош, и NAMESPACE ( RFC 2342 ) может быть полезным.Вам, вероятно, также потребуется обработать некоторые дополнительные механизмы аутентификации SASL, поэтому начните с RFC 1731 и переходите оттуда по мере необходимости.
Вот текст из приложения A:
The following documents contain definitions or specifications that
are necessary to understand this document properly:
[ABNF] Crocker, D. and P. Overell, "Augmented BNF for
Syntax Specifications: ABNF", RFC 2234,
November 1997.
[ANONYMOUS] Newman, C., "Anonymous SASL Mechanism", RFC
2245, November 1997.
[CHARSET] Freed, N. and J. Postel, "IANA Character Set
Registration Procedures", RFC 2978, October
2000.
[DIGEST-MD5] Leach, P. and C. Newman, "Using Digest
Authentication as a SASL Mechanism", RFC 2831,
May 2000.
[DISPOSITION] Troost, R., Dorner, S. and K. Moore,
"Communicating Presentation Information in
Internet Messages: The Content-Disposition
Header", RFC 2183, August 1997.
[IMAP-TLS] Newman, C., "Using TLS with IMAP, POP3 and
ACAP", RFC 2595, June 1999.
[KEYWORDS] Bradner, S., "Key words for use in RFCs to
Indicate Requirement Levels", BCP 14, RFC 2119,
March 1997.
[LANGUAGE-TAGS] Alvestrand, H., "Tags for the Identification of
Languages", BCP 47, RFC 3066, January 2001.
[LOCATION] Palme, J., Hopmann, A. and N. Shelness, "MIME
Encapsulation of Aggregate Documents, such as
HTML (MHTML)", RFC 2557, March 1999.
[MD5] Myers, J. and M. Rose, "The Content-MD5 Header
Field", RFC 1864, October 1995.
[MIME-HDRS] Moore, K., "MIME (Multipurpose Internet Mail
Extensions) Part Three: Message Header
Extensions for Non-ASCII Text", RFC 2047,
November 1996.
[MIME-IMB] Freed, N. and N. Borenstein, "MIME
(Multipurpose Internet Mail Extensions) Part
One: Format of Internet Message Bodies", RFC
2045, November 1996.
[MIME-IMT] Freed, N. and N. Borenstein, "MIME
(Multipurpose Internet Mail Extensions) Part
Two: Media Types", RFC 2046, November 1996.
[RFC-2822] Resnick, P., "Internet Message Format", RFC
2822, April 2001.
[SASL] Myers, J., "Simple Authentication and Security
Layer (SASL)", RFC 2222, October 1997.
[TLS] Dierks, T. and C. Allen, "The TLS Protocol
Version 1.0", RFC 2246, January 1999.
[UTF-7] Goldsmith, D. and M. Davis, "UTF-7: A Mail-Safe
Transformation Format of Unicode", RFC 2152,
May 1997.
The following documents describe quality-of-implementation issues
that should be carefully considered when implementing this protocol:
[IMAP-IMPLEMENTATION] Leiba, B., "IMAP Implementation
Recommendations", RFC 2683, September 1999.
[IMAP-MULTIACCESS] Gahrns, M., "IMAP4 Multi-Accessed Mailbox
Practice", RFC 2180, July 1997.