IMC logo
Internet Mail standards | Definitions | IMC Reports
Spam | MIME test | vCard/vCalendar
S/MIME and PGP/MIME | IMC home

IETF Request For Comments (RFCs)

The Internet Engineering Task Force (IETF) codifies the decisions it comes to in documents called "Requests For Comments". These are almost universally called by their acronym "RFCs". Many RFCs are the standards on which the Internet is formed. IMC has prepared a brief introduction to Internet standards that gives a bit more background to RFCs.

The level of standardization that an RFC reaches is determined not only by "how good" the RFC is, but by how widely it is implemented and tested. Some RFCs are not solid standards, but they nonetheless document technologies that are of great value to the Internet and thus should be used as guidelines for implementing Internet mail programs.


General References for RFCs

Not all Internet RFCs are standards. Internet standards are subject to extensive review and testing. In the tables below those that are on the standards track are noted by:

In addition, I indicates an Informational RFC, B indicates a Best Current Practice, and E indicates Experimental.

A good discussion of the difference between standards and RFCs is Not All RFCs are Standards (RFC 1796).

For more information on how standards are made in the IETF, please see the article Making Standards the IETF Way by Dave Crocker, one of the founders of the IMC. The official rules for how RFCs are made and how things become standards are stated in RFC 2026.

Before a proposal or note becomes an RFC, it is set down as an Internet Draft (I-D) and discussed in various forums, often working groups of the IETF. Because I-Ds are often rough drafts and subject to major changes, they are described in a different document. The IMC has created a separate list of I-Ds relating to Internet Mail.


Types of Internet Mail Standards and Protocols

Internet mail standards and protocols fall into some broad categories. Of course, some standards straddle more than one category, but they can all fit into at least one of the following:

Many of the terms in the Internet mail world can be confusing. There is an excellent basic explanation of what terms are used for Internet mail transports, clients, servers, and so on in Classifications in E-mail Routing (RFC 1711).


Host-To-Host Mail Transfer

RFC 2821 PSimple Mail Transfer Protocol (SMTP)
RFC 1123 SRequirements for Internet hosts - application and support
RFC 974 SMail routing and the domain system (MX records)
RFC 1869 SSMTP Service Extensions
RFC 1870 SSMTP Service Extension for Message Size Declaration
RFC 1652 DSMTP Service Extension for 8bit-MIMEtransport
RFC 3030 PSMTP Service Extensions for Transmission of Large and Binary MIME Messages
RFC 1845 ESMTP Service Extension for Checkpoint/Restart
RFC 1846 ESMTP 521 Reply Code
RFC 2920 SSMTP Service Extension for Command Pipelining
RFC 1985 PSMTP Service Extension for Remote Message Queue Starting (ETRN)
RFC 2645 POn-Demand Mail Relay (ODMR) SMTP with Dynamic IP Addresses
RFC 2852 PDeliver By SMTP Service Extension
RFC 2034 PSMTP Service Extension for Returning Enhanced Error Codes
RFC 3464 PAn Extensible Message Format for Delivery Status Notifications (DSNs)
RFC 3463 DEnhanced Mail System Status Codes
RFC 3461 PSMTP Service Extension for Delivery Status Notifications
RFC 3462 PMultipart/Report Content Type for the Reporting of Mail System Administrative Messages
RFC 3656 EMailbox Update (MUPDATE) Distributed Mailbox Database Protocol
RFC 3848 PESMTP and LMTP Transmission Types Registration
RFC 3865 PNo Soliciting Simple Mail Transfer Protocol (SMTP) Service Extension
RFC 3885 PSMTP Service Extension for Message Tracking
RFC 3886 PAn Extensible Message Format for Message Tracking Responses
RFC 3887 PMessage Tracking Query Protocol
RFC 3888 IMessage Tracking Model and Requirements
RFC 3974 ISMTP Operational Experience in Mixed IPv4/v6 Environments
RFC 4409 PMessage Submission for Mail
RFC 4468 PMessage Submission BURL Extension
RFC 4954 PSMTP Service Extension for Authentication
RFC 4405 ESMTP Service Extension for Indicating the Responsible Submitter of an E-Mail Message
RFC 4865 PSMTP Submission Service Extension for Future Message Release
RFC 4871 PDomainKeys Identified Mail (DKIM) Signatures
RFC 4870 HDomain-Based Email Authentication Using Public Keys Advertised in the DNS (DomainKeys)
RFC 4406 ESender ID: Authenticating E-Mail
RFC 4407 EPurported Responsible Address in E-Mail Messages
RFC 4408 ESender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail, Version 1
RFC 5248 BA Registry for SMTP Enhanced Mail System Status Codes
RFC 2505 BAnti-Spam Recommendations for SMTP MTAs
RFC 2442 IBatch SMTP Media Type
RFC 1047 IDuplicate messages and SMTP
RFC 1090 ISMTP on X.25

Client-To-Host Communication

RFC 3798 DMessage Disposition Notification (MDNs)
RFC 1939 SPost Office Protocol - Version 3 (POP3)
RFC 5034 PPOP3 AUTHentication command
RFC 1957 ISome Observations on Implementations of POP3
RFC 2384 PPOP URL Scheme
RFC 2449 PPOP3 Extension Mechanism
RFC 3206 PSYS and AUTH POP Response Codes
RFC 2195 PIMAP/POP AUTHorize Extension for Simple Challenge/Response
RFC 3501 PInternet Message Access Protocol - version 4rev1(IMAP4)
RFC 4551 PIMAP Extension for Conditional STORE Operation or Quick Flag Changes Resynchronization
RFC 4466 PCollected Extensions to IMAP4 ABNF
RFC 1731 PIMAP4 Authentication Mechanisms
RFC 2061 IIMAP4 Compatibility With IMAP2bis
RFC 1733 IDistributed Electronic Mail Models In IMAP4
RFC 2086 PIMAP4 ACL extension
RFC 2087 PIMAP4 QUOTA extension
RFC 2088 PIMAP4 non-synchronizing literals
RFC 2177 PIMAP4 IDLE command
RFC 2180 IIMAP4 Multi-Accessed Mailbox Practice
RFC 5092 PIMAP URL Scheme
RFC 2193 PIMAP4 Mailbox Referrals
RFC 2221 PIMAP4 Login Referrals
RFC 2342 PIMAP4 Namespace
RFC 4315 PIMAP4 UIDPLUS extension
RFC 3348 IIMAP4 Child Mailbox Extension
RFC 2683 IIMAP4 Implementation Recommendations
RFC 2971 PIMAP4 ID extension
RFC 3502 PIMAP MULTIAPPEND Extension
RFC 4469 PIMAP CATENATE Extension
RFC 3503 PMessage Disposition Notification (MDN) profile for IMAP
RFC 3516 PIMAP4 Binary Content Extension
RFC 4467 PIMAP4 URLAUTH Extension
RFC 4549 ISynchronization Operations for Disconnected IMAP4 Clients
RFC 4550 PInternet Email to Support Diverse Service Environments (Lemonade) Profile
RFC 4731 PIMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned
RFC 5032 PWITHIN Search Extension to the IMAP Protocol
RFC 2476 PMessage Submission
RFC 2244 PACAP -- Application Configuration Access Protocol
RFC 4146 ISimple New Mail Notification
RFC 1056 IPCMAIL: A distributed mail system for personal computers
RFC 1204 EMessage Posting Protocol (MPP)
RFC 1339 ERemote Mail Checking Protocol

Basic Message Format and Encoding

RFC 2822 PInternet Message Format
RFC 4021 PRegistration of Mail and MIME Header Fields
RFC 2076 ICommon Internet Message Headers
RFC 3864 BRegistration Procedures for Message Header Fields
RFC 1153 EDigest message format
RFC 1505 EEncoding Header Field for Internet Messages
RFC 1049 HContent-type header field for Internet messages

Multipurpose Internet Mail Extensions (MIME)

RFC 2045 DMIME Part 1: Format of Internet Message Bodies
RFC 2046 DMIME Part 2: Media Types
RFC 2047 DMIME Part 3: Message Header Extensions for Non-ASCII Text
RFC 4288 BMedia Type Specifications and Registration Procedures
RFC 4289 BMIME Part 4: Registration Procedures
RFC 2049 DMIME Part 5: Conformance Criteria and Examples
RFC 2183 PCommunicating Presentation Information in Internet Messages: The Content-Disposition Header
RFC 2557 PMIME Encapsulation of Aggregate Documents, such as HTML (MHTML)
RFC 2854 Itext/html Media Type
RFC 2392 PContent-ID and Message-ID Uniform Resource Locators
RFC 3676 PText/Plain Format and DelSp Parameters
RFC 2387 PMIME Multipart/Related Content-type
RFC 3066 BTags for the Identification of Languages
RFC 2231 PMIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations
RFC 2017 PDefinition of the URL MIME External-Body Access-Type
RFC 2388 PReturning Values from Forms: multipart/form-data
RFC 2376 IXML Media Types
RFC 1556 IHandling of Bi-directional Texts in MIME
RFC 1524 IUser Agent Configuration Mechanism For Multimedia Mail Format Information
RFC 1896 IMIME text/enriched content-type
RFC 1428 ITransition of Internet Mail from Just-Send-8 to 8bit-SMTP/MIME
RFC 1740 PMIME Encapsulation of Macintosh Files (MacMIME)
RFC 1741 IMIME Content Type for BinHex Encoded Files
RFC 1767 PMIME Encapsulation of EDI Objects
RFC 1844 IMultimedia E-mail (MIME) User Agent Checklist
RFC 1864 DContent-MD5 Header Field
RFC 2077 PThe Model Primary Content Type for MIME
RFC 3023 PXML Media Types

Message and Transmission Security

RFC 1847 PSecurity Multiparts for MIME: Multipart/Signed and Multipart/Encrypted
RFC 2480 PGateways and MIME Security Multiparts
RFC 3851 PS/MIME Version 3 Message Specification
RFC 3850 PS/MIME Version 3 Certificate Handling
RFC 3852 PCryptographic Message Syntax (CMS)
RFC 4853 PCryptographic Message Syntax (CMS) Multiple Signer Clarification
RFC 3370 PCryptographic Message Syntax (CMS) Algorithms
RFC 4134 IExamples of S/MIME Messages
RFC 5008 ISuite B in Secure/Multipurpose Internet Mail Extensions (S/MIME)
RFC 5275 PCMS Symmetric Key Management and Distribution
RFC 2631 PDiffie-Hellman Key Agreement Method
RFC 2634 PEnhanced Security Services for S/MIME
RFC 5035 PEnhanced Security Services (ESS) Update: Adding CertID Algorithm Agility
RFC 2785 IMethods for Avoiding the "Small-Subgroup" Attacks on the Diffie-Hellman Key Agreement Method for S/MIME
RFC 3274 PCompressed Data Content Type for Cryptographic Message Syntax (CMS)
RFC 3537 PWrapping a Hashed Message Authentication Code (HMAC) key with a Triple-Data Encryption Standard (DES) Key or an Advanced Encryption Standard (AES) Key
RFC 3560 PUse of the RSAES-OAEP Key Transport Algorithm in Cryptographic Message Syntax (CMS)
RFC 4056 PUse of the RSASSA-PSS Signature Algorithm in Cryptographic Message Syntax (CMS)
RFC 3565 PUse of the Advanced Encryption Standard (AES) Encryption Algorithm in Cryptographic Message Syntax (CMS)
RFC 4262 PX.509 Certificate Extension for S/MIME Capabilities
RFC 4010 PUse of the SEED Encryption Algorithm in Cryptographic Message Syntax (CMS)
RFC 5083 PCMS Authenticated-Enveloped-Data Content Type
RFC 5084 PUsing AES-CCM and AES-GCM Authenticated Encryption in CMS
RFC 3854 PSecuring X.400 Content with S/MIME
RFC 3855 PTransporting S/MIME Objects in X.400
RFC 2311 IS/MIME Version 2 Message Specification
RFC 2312 IS/MIME Version 2 Certificate Handling
RFC 2876 IUse of the KEA and SKIPJACK Algorithms in CMS
RFC 2984 PUse of the CAST-128 Encryption Algorithm in S/MIME
RFC 3657 PUse of the Camellia Encryption Algorithm in Cryptographic Message Syntax (CMS)
RFC 3211 PPassword-based Encryption for CMS
RFC 3217 ITriple-DES and RC2 Key Wrapping
RFC 3394 IAdvanced Encryption Standard (AES) Key Wrap Algorithm
RFC 3278 IUse of Elliptic Curve Cryptography (ECC) Algorithms in Cryptographic Message Syntax (CMS)
RFC 3218 IPreventing the Million Message Attack on CMS
RFC 3125 EElectronic Signature Policies
RFC 3126 IElectronic Signature Formats for long term electronic signatures
RFC 3183 EDomain Security Services using S/MIME
RFC 3185 PReuse of CMS Content Encryption Keys
RFC 3114 IImplementing Company Classification Policy with the S/MIME Security Label
RFC 3447 IPKCS #1: RSA Encryption Version 2.1
RFC 2315 IPKCS #7: Cryptographic Message Syntax Version 1.5
RFC 2314 IPKCS #10: Certification Request Syntax Version 1.5
RFC 2986 IPKCS #10: Certification Request Syntax Specification Version 1.7
RFC 3058 IUse of the IDEA Encryption Algorithm in CMS
RFC 5280 PPKIX Certificate and CRL Profile
RFC 4880 POpenPGP Message Format
RFC 1991 IPGP Message Exchange Formats
RFC 3156 PMIME Security with Pretty Good Privacy (PGP)
RFC 1848 PMIME Object Security Services (MOSS)
RFC 1421 PPEM Part I: Message Encryption and Authentication Procedures
RFC 1422 PPEM Part II: Certificate-Based Key Management
RFC 1423 PPEM Part III: Algorithms, Modes, and Identifiers
RFC 1424 PPEM Part IV: Key Certification and Related Services
RFC 1321 IMD5 Message-Digest Algorithm
RFC 2144 ICAST-128 Encryption Algorithm
RFC 2268 IDescription of the RC2 Encryption Algorithm
RFC 4422 PSimple Authentication and Security Layer (SASL)
RFC 2245 PAnonymous SASL Mechanism
RFC 2808 ISecurID(r) SASL Mechanism
RFC 2831 PUsing Digest Authentication as a SASL Mechanism -- being revised by draft-ietf-sasl-rfc2831bis
RFC 2316 IReport of the IAB Security Architecture Workshop
RFC 2246 PTLS Protocol
RFC 3207 PSMTP Service Extension for Secure SMTP over TLS
RFC 2595 PUsing TLS with IMAP, POP3 and ACAP
RFC 3157 ISecurely Available Credentials - Requirements

Internationalization

RFC 3536 ITerminology Used in Internationalization in the IETF
RFC 2277 BIETF Policy on Character Sets and Languages (BCP 18)
RFC 3629 SUTF-8, a Transformation Format of ISO 10646
RFC 2781  UTF-16, an encoding of ISO 10646
RFC 3454 PPreparation of Internationalized Strings ("stringprep")
RFC 2482  Language Tagging in Unicode Plain Text
RFC 3066 BTags for the Identification of Languages (BCP 47)
RFC 2130  Report of the IAB Character Set Workshop held 29 February - 1 March, 1996
RFC 2231 PMIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations
RFC 2070 PInternationalization of the Hypertext Markup Language
RFC 2152  A Mail-Safe Transformation Format of Unicode (UTF-7)
RFC 2978 BIANA Charset Registration Procedures (BCP 19)
RFC 3282 PContent Language Headers
RFC 1556  MIME bi-directional texts
RFC 1502  X.400 Use of Extended Character Sets
RFC 1842  ASCII Printable Characters-Based Chinese Character Encoding for Internet Messages
RFC 1843  HZ - A Data Format for Exchanging Files of Arbitrarily Mixed Chinese and ASCII characters
RFC 1922  Chinese Character Encoding for Internet Messages
RFC 1489  Cyrillic encoding
RFC 1947  Greek Character Encoding for Electronic Mail Messages
RFC 1555  Hebrew Character Encoding for Internet Messages
RFC 1468  Japanese encoding
RFC 1815  Character Sets ISO-10646 and ISO-10646-J-1
RFC 2237  Japanese Character Encoding for Internet Messages
RFC 1557  Korean Character Encoding for Internet Messages
RFC 1456  Vietnamese encoding
RFC 2319  Ukrainian Character Set KOI8-U

Gateways to Non-Internet Mail

RFC 3949 PFile Format for Internet Fax
RFC 3302 PTag Image File Format (TIFF) - image/TIFF MIME Sub-type Registration
RFC 3950 PTag Image File Format Fax eXtended (TIFF-FX) - image/tiff-fx MIME Sub-type Registration
RFC 3191 PMinimal GSTN address format in Internet Mail
RFC 3192 PMinimal FAX address format in Internet Mail
RFC 3965 PSimple Mode of Facsimile Using Internet Mail
RFC 2306 ITag Image File Format (TIFF) - F Profile for Facsimile
RFC 2542 ITerminology and Goals for Internet Fax
RFC 2534 PMedia Features for Display, Print, and Fax
RFC 2506 BMedia Feature Tag Registration Procedure
RFC 2530 PIndicating Supported Media Features Using Extensions to DSN and MDN
RFC 2879 PContent Feature Schema for Internet Fax
RFC 2938 PIdentifying composite media features
RFC 3297 PContent Negotiation for Messaging Services based on Email
RFC 4141 PSMTP and MIME Extensions for Content Conversion
RFC 4142 PFull-mode Fax Profile for Internet Mail (FFPIM)
RFC 4143 PFacsimile Using Internet Mail (IFAX) Service of ENUM
RFC 2987 PRegistration of Charset and Languages Media Features Tags
RFC 2880 IInternet Fax T.30 Feature Mapping
RFC 3966 PURLs for Telephone Calls
RFC 2532 PExtended Facsimile Using Internet Mail
RFC 2846 PGSTN Address Element Extensions in E-mail Services
RFC 2533 PSyntax for Describing Media Feature Sets
RFC 2738 PCorrections to "A Syntax for Describing Media Feature Sets"
RFC 2703 IProtocol-independent Content Negotiation Framework
RFC 3362 PReal-time Facsimile (T.38) - image/t38 MIME Sub-type Registration
RFC 3250 PTag Image File Format Fax eXtended (TIFF-FX) - image/tiff-fx MIME Sub-type Registration
RFC 3249 IImplementers Guide for Facsimile Using Internet Mail
RFC 3801 PVoice Profile for Internet Mail - version 2 (VPIMr2)
RFC 3804 PVoice Profile for Internet Mail (VPIM) Addressing
RFC 2423 PVPIM Voice Message MIME Sub-type Registration
RFC 3773 IHigh-Level Requirements for Internet Voice Mail
RFC 3939 PCalling Line Identification for Voice Mail Messages
RFC 4024 IVoice Messaging Client Behaviour
RFC 3458 PMessage Context for Internet Mail
RFC 3459 PCritical Content Multi-purpose Internet Mail Extensions (MIME) Parameter
RFC 2424 PContent Duration MIME Header Definition
RFC 2156 PMIXER (Mime Internet X.400 Enhanced Relay): Mapping between X.400 and RFC 822/MIME
RFC 2157 PMapping between X.400 and RFC-822/MIME Message Bodies
RFC 2158 PX.400 Image Body Parts
RFC 2159 PA MIME Body Part for FAX
RFC 2160 PCarrying PostScript in X.400 and MIME
RFC 2161 IA MIME Body Part for ODA
RFC 2162 IMaXIM-11 - Mapping between X.400 / Internet mail and Mail-11 mail
RFC 2163 PUsing the Internet DNS to Distribute MIXER Conformant Global Address Mapping (MCGAM)
RFC 2164 PUse of an X.500/LDAP directory to support MIXER address mapping
RFC 2294 PRepresenting the O/R Address hierarchy in the X.500 Directory Information Tree
RFC 1506 ITutorial on Gatewaying between X.400 and Internet Mail
RFC 1664 EUsing the Internet DNS to Distribute RFC1327 Mail Address Mapping Tables
RFC 976 IUUCP mail interchange format standard
RFC 1137 HMapping between full RFC 822 and RFC 822 with restricted encoding
RFC 1168 IIntermail and Commercial Mail Relay services
RFC 1197 IUsing ODA for translating multimedia information

Calendaring and Scheduling

RFC 2445 PInternet Calendaring and Scheduling Core Object Specification (iCalendar)
RFC 2446 PiCalendar Transport-Independent Interoperability Protocol (iTIP) Scheduling Events, BusyTime, To-dos and Journal Entries
RFC 2447 PiCalendar Message-Based Interoperability Protocol (iMIP)
RFC 2739 PCalendar Attributes for vCard and LDAP
RFC 3283 IGuide to Internet Calendaring

Miscellaneous

RFC 2234 PAugmented BNF for Syntax Specifications: ABNF
RFC 3028 PSieve: A Mail Filtering Language
RFC 3431 PSieve Extension: Relational Tests
RFC 3598 PSieve Email Filtering -- Subaddress Extension
RFC 3685 PSieve Email Filtering -- Spamtest and VirusTest Extensions
RFC 3894 PSieve Extension: Copying Without Side Effects
RFC 2919 PList-Id: A Structured Field and Namespace for the Identification of Mailing Lists
RFC 2142 PMailbox Names For Common Services, Roles And Functions
RFC 2368 Pmailto URL scheme
RFC 2369 PUse of URLs as Meta-Syntax for Core Mail List Commands and their Transport through Message Header Fields
RFC 2425 PMIME Content-Type for Directory Information
RFC 2426 PvCard MIME Directory Profile
RFC 2912 PIndicating Media Features for MIME Content
RFC 2913 PMIME Content Types in Media Feature Expressions
RFC 1711 IClassifications in E-mail Routing
RFC 1211 IProblems with the maintenance of large mailing lists
RFC 1429 IListserv Distribute Protocol
RFC 1855 INetiquette Guidelines
RFC 1958 IArchitectural Principles of the Internet
RFC 2033 ILocal Mail Transfer Protocol (LMTP)
RFC 2083 IPNG (Portable Network Graphics) Specification Version 1.0
RFC 2788 PNetwork Services Monitoring MIB
RFC 2789 PMail Monitoring MIB
RFC 2635 IDON'T SPEW: A Set of Guidelines for Mass Unsolicited Mailings and Postings (spam*)
RFC 2626 IThe Internet and the Millennium Problem (Year 2000)
RFC 3098 BHow to Advertise Responsibly Using E-Mail and Newsgroups
RFC 3339 PDate and Time on the Internet: Timestamps
RFC 3335 PMIME-based Secure Peer-to-Peer Business Data Interchange over the Internet
RFC 3834 PRecommendations for Automatic Responses to Electronic Mail
RFC 4095 PAttaching Meaning to Solicitation Class Keywords
RFC 4096 IPolicy-Mandated Labels Such as "Adv:" in Email Subject Headers Considered Ineffective At Best
RFC 4417 IReport of the 2004 IAB Messaging Workshop
RFC 4496 IOpen Pluggable Edge Services (OPES) SMTP Use Cases
RFC 5068 BEmail Submission Operations: Access and Accountability Requirements
RFC 5064 PThe Archived-At Message Header Field