<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.    
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at 2021-11-12 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache James Project &#x2013; Apache James Server 3 - RFC list</title>
    <style type="text/css" media="all">
      @import url("../css/james.css");
      @import url("../css/maven-base.css");
      @import url("../css/maven-theme.css");
      @import url("../css/site.css");
      @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
      @import url("../js/jquery/css/print.css");
      @import url("../js/fancybox/jquery.fancybox-1.3.4.css");
    </style>
    <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
    <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20211112" />
    <meta http-equiv="Content-Language" content="en" />
        
          <!-- Google Analytics -->
    <script type="text/javascript">
    
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-1384591-1']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s);
      })();

    </script>
    </head>
  <body class="composite">
    <div id="banner">
                                      <a href="../index.html" id="bannerLeft" title="james-logo.png">
              
                                                                            
        <img src="../images/logos/james-logo.png" alt="James Project" />
                </a>
                              <a href="https://www.apache.org/index.html" id="bannerRight">
              
                                        
        <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
                
                <div class="xleft">
        <span id="publishDate">Last Published: 2021-11-12</span>
                      </div>
            <div class="xright">                    <a href="../index.html" title="Home">Home</a>
            |
                        <a href="../documentation.html" title="James">James</a>
            |
                        <a href="../mime4j/index.html" title="Mime4J">Mime4J</a>
            |
                        <a href="../jsieve/index.html" title="jSieve">jSieve</a>
            |
                        <a href="../jspf/index.html" title="jSPF">jSPF</a>
            |
                        <a href="../jdkim/index.html" title="jDKIM">jDKIM</a>
              
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
                
                                <h5>James components</h5>
                  <ul>
                                                                                                                                                                                                                    <li class="collapsed">
                          <a href="../documentation.html" title="About James">About James</a>
                  </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <li class="expanded">
                          <a href="../server/index.html" title="Server">Server</a>
                    <ul>
                      <li class="none">
                          <a href="../server/advantages.html" title="Advantages">Advantages</a>
            </li>
                      <li class="none">
                          <a href="../server/objectives.html" title="Objectives">Objectives</a>
            </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <li class="collapsed">
                          <a href="../server/quick-start.html" title="User Manual">User Manual</a>
                  </li>
                      <li class="none">
                          <a href="../mail.html#James_Mailing_lists" title="Mailing Lists">Mailing Lists</a>
            </li>
                      <li class="none">
                          <a href="../server/release-notes.html" title="Release Notes">Release Notes</a>
            </li>
                      <li class="none">
                          <a href="../server/apidocs/index.html" title="Javadoc">Javadoc</a>
            </li>
                      <li class="none">
                          <a href="https://issues.apache.org/jira/browse/JAMES" title="Issue Tracker">Issue Tracker</a>
            </li>
                      <li class="none">
                          <a href="https://github.com/apache/james-project" title="Sources">Sources</a>
            </li>
                      <li class="none">
            <strong>RFCs</strong>
          </li>
                      <li class="none">
                          <a href="../download.cgi#Apache_James_Server" title="Download releases">Download releases</a>
            </li>
              </ul>
        </li>
                                                                                                                                                                                                                                                                          <li class="collapsed">
                          <a href="../mailet/index.html" title="Mailets">Mailets</a>
                  </li>
                                                                                                                                                                                                                                                                                      <li class="collapsed">
                          <a href="../mailbox/index.html" title="Mailbox">Mailbox</a>
                  </li>
                                                                                                                                                                                <li class="collapsed">
                          <a href="../protocols/index.html" title="Protocols">Protocols</a>
                  </li>
                                                                                                                                                                                      <li class="collapsed">
                          <a href="../mpt/index.html" title="MPT">MPT</a>
                  </li>
          </ul>
        <h5>Apache Software Foundation</h5>
  <ul>
    <li>
      <strong>
        <a title="ASF" href="http://www.apache.org/">ASF</a>
      </strong>
    </li>
    <li>
      <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
    </li>
    <li>
      <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a>
    </li>
    <li>
      <a title="License" href="http://www.apache.org/licenses/" >License</a>
    </li>
    <li>
      <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    <li>
      <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
    </li>
    <li>
      <a title="Security" href="http://www.apache.org/security/">Security</a>
    </li>
  </ul>
                       <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
      </a>
                   
                
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        

 

  <section>
<h2><a name="RFC_List"></a>RFC List</h2>
    <section>
<h3><a name="General_RFCs"></a>General RFCs</h3>
      <a href="rfclist/basic/rfc0822.txt">RFC 822: Mail Message Format</a><br />
      <a href="rfclist/basic/rfc1123.txt">RFC 1123: Requirements for Internet Hosts -- Application and Support (updated by RFC 2821)</a><br />
      <a href="rfclist/basic/rfc2045.txt">RFC 2045: Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</a><br />
      <a href="rfclist/basic/rfc2822.txt">RFC 2822: Internet Message Format</a><br />
    </section>
    <section>
<h3><a name="SMTP_RFCs"></a>SMTP RFCs</h3>
      <a href="rfclist/smtp/rfc0821.txt">RFC 821: SMTP Protocol</a><br />
      <a href="rfclist/smtp/rfc0974.txt">RFC 974: Mail Routing and the Domain System</a><br />
      <a href="rfclist/smtp/rfc1652.txt">RFC 1652: SMTP Service Extension for 8bit-MIMEtransport (elective, but widely adopted)</a><br />
      <a href="rfclist/smtp/rfc1830.txt">RFC 1830: SMTP Service Extensions for Transmission of Large and Binary MIME Messages (experimental, but cool idea)</a><br />
      <a href="rfclist/smtp/rfc1869.txt">RFC 1869: SMTP Service Extensions</a><br />
      <a href="rfclist/smtp/rfc1870.txt">RFC 1870: SMTP Service Extension for Message Size Declaration</a><br />
      <a href="rfclist/smtp/rfc1891.txt">RFC 1891: SMTP Service Extension for Delivery Status Notifications (elective)</a><br />
      <a href="rfclist/smtp/rfc1893.txt">RFC 1893: Enhanced Mail System Status Codes (experimental)</a><br />
      <a href="rfclist/smtp/rfc1985.txt">RFC 1985: SMTP Service Extension for Remote Message Queue Starting (elective)</a><br />
      <a href="rfclist/smtp/rfc2034.txt">RFC 2034: SMTP Service Extension for Returning Enhanced Error Codes (elective)</a><br />
      <a href="rfclist/smtp/rfc2142.txt">RFC 2142: Mailbox Names For Common Services, Roles And Functions</a><br />
      <a href="rfclist/smtp/rfc2197.txt">RFC 2197: SMTP Service Extension for Command Pipelining (elective)</a><br />
      <a href="rfclist/smtp/rfc2554.txt">RFC 2554: SMTP Service Extension for Authentication</a><br />
      <a href="rfclist/smtp/rfc2821.txt">RFC 2821: Simple Mail Transfer Protocol (obsoletes RFC 821)</a><br />
    </section>
    <section>
<h3><a name="LMTP_RFCs"></a>LMTP RFCs</h3>
      <a href="rfclist/lmtp/rfc2033.txt">RFC 2033 : LMTP Local Mail Transfer Protocol</a><br />
    </section>
    <section>
<h3><a name="JMAP_standard"></a>JMAP standard</h3>
      <a class="externalLink" href="http://jmap.io">JMAP specifications</a>
    </section>
    <section>
<h3><a name="IMAP_RFCs"></a>IMAP RFCs</h3>
      <a href="rfclist/imap4/rfc1731.txt">RFC 1731: IMAP4 Authentication Mechanisms</a><br />
      <a href="rfclist/imap4/rfc2060.txt">RFC 2060: IMAP Version 4rev1</a><br />
      <a href="rfclist/imap4/rfc2086.txt">RFC 2086: IMAP4 ACL extension</a><br />
      <a href="rfclist/imap4/rfc2087.txt">RFC 2087: IMAP4 QUOTA extension</a><br />
      <a href="rfclist/imap4/rfc2088.txt">RFC 2088: IMAP4 non-synchronizing literals</a><br />
      <a href="rfclist/imap4/rfc2177.txt">RFC 2177: IMAP4 IDLE command</a><br />
      <a href="rfclist/imap4/rfc2180.txt">RFC 2180: IMAP4 Multi-accessed Mailbox Practice</a><br />
      <a href="rfclist/imap4/rfc2192.txt">RFC 2192: IMAP URL Scheme</a><br />
      <a href="rfclist/imap4/rfc2193.txt">RFC 2193: IMAP4 Mailbox Referrals</a><br />
      <a href="rfclist/imap4/rfc2195.txt">RFC 2195: IMAP/POP AUTHorize Extension for Simple Challenge/Response</a><br />
      <a href="rfclist/imap4/rfc2221.txt">RFC 2221: IMAP4 Login Referrals</a><br />
      <a href="rfclist/imap4/rfc2342.txt">RFC 2342: IMAP4 Namespace (elective)</a><br />
      <a href="rfclist/imap4/rfc2359.txt">RFC 2359: IMAP4 UIDPLUS extension (elective)</a><br />
      <a href="rfclist/imap4/rfc2595.txt">RFC 2595: Using TLS with IMAP, POP and ACAP</a><br />
      <a href="rfclist/imap4/rfc2683.txt">RFC 2683: IMAP4 Implementation Recommendations</a><br />
      <a href="rfclist/imap4/rfc5256.txt">RFC 5256: IMAP4 SORT and THREAD Extensions</a><br />
      <a class="externalLink" href="https://tools.ietf.org/html/rfc5464">RFC 5464: IMAP METADATA Extension</a>
    </section>
    <section>
<h3><a name="ManageSieve_RFC"></a>ManageSieve RFC</h3>
      <a class="externalLink" href="https://tools.ietf.org/html/rfc5804">RFC 5804: A Protocol for Remotely Managing Sieve Scripts</a>
    </section>
    <section>
<h3><a name="Sieve_RFCs"></a>Sieve RFCs</h3>
      <a class="externalLink" href="http://tools.ietf.org/html/rfc5228">RFC 5228: Sieve: An Email Filtering Language</a>
      <a class="externalLink" href="http://www.ietf.org/rfc/rfc2298.txt">RFC 2298: Extensible Message Format for Message Disposition Notifications</a>
      <a class="externalLink" href="http://tools.ietf.org/html/rfc5173">RFC 5173: Sieve Email Filtering: Body Extension</a>
      <a class="externalLink" href="https://tools.ietf.org/html/rfc5230">RFC 5230: Sieve Email Filtering: Vacation Extension</a>
    </section>
    <section>
<h3><a name="POP3_RFCs"></a>POP3 RFCs</h3>
      <a href="rfclist/pop3/rfc1725.txt">RFC 1725: POP3 Protocol</a><br />
      <a href="rfclist/pop3/rfc1734.txt">RFC 1734: POP3 AUTHentication command</a><br />
      <a href="rfclist/pop3/rfc1939.txt">RFC 1939: POP3 Protocol (obsoletes RFC 1725)</a><br />
      
    </section>
    <section>
<h3><a name="NNTP_RFCs_.28v_2.3.x_only.29"></a>NNTP RFCs (v 2.3.x only)</h3>
      <a href="rfclist/nntp/rfc0977.txt">RFC 977: NNTP Protocol</a><br />
      <a href="rfclist/nntp/rfc1036.txt">RFC 1036: Format of News Messages</a><br />
      <a href="rfclist/nntp/rfc2980.txt">RFC 2980: Common NNTP Extensions</a><br />
      <a class="externalLink" href="http://www.academ.com/academ/nntp/">NNTP Working Group</a><br />
    </section>
  </section>




      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">Copyright &#169;                    2006-2021
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
