Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 85dff41758625c26d7c6097135c8f737 > files > 141

cone-doc-0.78-3.fc12.x86_64.rpm

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"/>

  <title>Appendix&#160;A.&#160;Simple Mail Access Protocol, Version
  1</title>
  <link rel="stylesheet" href="manpage.css" type="text/css"/>
  
  <link rel="start" href="index.html" title="Cone: COnsole Newsreader And Emailer"/>
  <link rel="up" href="index.html" title="Cone: COnsole Newsreader And Emailer"/>
  <link rel="prev" href="mimestruct.html" title="mail::mimestruct"/>
  <link rel="next" href="smapsyntax.html" title="SMAP syntax overview"/>
  <link xmlns="" rel="icon" href="icon.gif" type="image/gif"/>
  <meta xmlns="" name="MSSmartTagsPreventParsing" content="TRUE"/>
  <!--

Copyright 2002 - 2007 Double Precision, Inc.  See COPYING for distribution
information.

-->
</head>

<body>
  <div class="navheader">
    <table width="100%" summary="Navigation header">
      <tr>
        <th colspan="3" align="center" rowspan="1">
        Appendix&#160;A.&#160;Simple Mail Access Protocol, Version
        1</th>
      </tr>

      <tr>
        <td width="20%" align="left" rowspan="1" colspan="1">
        <a accesskey="p" href="mimestruct.html" shape="rect">Prev</a>&#160;</td>

        <th width="60%" align="center" rowspan="1" colspan="1">
        &#160;</th>

        <td width="20%" align="right" rowspan="1" colspan="1">
        &#160;<a accesskey="n" href="smapsyntax.html" shape="rect">Next</a></td>
      </tr>
    </table>
    <hr/>
  </div>

  <div class="appendix" lang="en" xml:lang="en">
    <div class="titlepage">
      <div>
        <div>
          <h2 class="title"><a id="smap1" shape="rect" name="smap1"> </a>Appendix&#160;A.&#160;Simple Mail Access
          Protocol, Version 1</h2>
        </div>
      </div>
    </div>

    <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
      <h3 class="title">Note</h3>

      <p>This document is a work-in-progress.</p>
    </div>

    <div class="section" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h3 class="title"><a id="id689691" shape="rect" name="id689691"> </a>Introduction</h3>
          </div>
        </div>
      </div>

      <p>Simple Mail Access Protocol (SMAP, or SMAP1 if referring
      specifically to this version) enables programs (referred in
      this document as "clients") to use a network connection to a
      server process for reading and manage MIME E-mail messages in
      a mailbox.</p>

      <p>SMAP is an experimental protocol for testing new mail
      client/server functionality that's not possible with existing
      mail access protocols. SMAP is sufficient for implementing
      traditional mail access functionality: a hierarchical
      arrangement of folders; random access to messages in a
      folder; access individual MIME sections of messages;
      per-message metadata such as various flags, and a datestamp.
      Beyond that, SMAP's primary focus is to serve as an
      experimental implementation of advanced mail client/server
      functionality.</p>

      <div class="section" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h4 class="title"><a id="id689705" shape="rect" name="id689705"> </a>Summary</h4>
            </div>
          </div>
        </div>

        <div class="itemizedlist">
          <ul type="disc">
            <li>
              <p>SMAP tries to provide powerful mail access service
              using a structurally-simple, line oriented syntax.
              Client commands and server replies are
              newline-delimited lines of text consisting of
              whitespace-delimited tokens. SMAP syntax's complexity
              is closer to POP3's and SMTP's, rather than to
              IMAP's.</p>
            </li>

            <li>
              <p>SMAP's design allows it to coexist with IMAP. Both
              IMAP and SMAP can be implemented by the same server.
              An SMAP client has the ability to fall back to IMAP
              if the server does not have SMAP capabilities.</p>
            </li>

            <li>
              <p>SMAP decodes MIME-encoded attachments, and sends
              the raw data to the SMAP client. <code class="literal">base64</code>-encoded MIME attachments
              enjoy a 25% reduction in bandwidth needed to download
              the attachment...</p>
            </li>

            <li>
              <p>A single SMAP transaction saves a new message to a
              folder, and sends the message to its designated
              recipients. This essentially halfes the bandwidth
              required to send a new message. Without SMAP, a mail
              client has to transmit the message twice: once to
              save a file-copy of the sent message in a folder, and
              a second time to send the message using <code class="literal">SMTP</code>. With SMAP, the mail client
              only needs to send the message once. The server saves
              the message in the folder, the sends the message to
              its listed recipients.</p>
            </li>

            <li>
              <p>An SMAP client does not need to download the
              entire index of folder's contents when reopening a
              previously seen folder. When reopening a folder, the
              client receives a much shorter list of changes to the
              folder's contents since the last time the client had
              the folder opened.</p>

              <p>This is done by the client and server saving an
              index of folder's contents. After reopening the
              folder the server only needs to send the delta of
              changes between the saved folder index, and the
              current folder index.</p>
            </li>

            <li>
              <p>SMAP provides a hierarchical collection of mail
              folders. Folder names use the UTF-8 character set. A
              <span class="command"><strong>telnet</strong></span>
              connection from an UTF-8 terminal will be able to
              fully navigate and manage the folders. Names of SMAP
              folders may contain any UTF-8 character (excluding
              the control character range U+0000 through U+001F).
              SMAP does not reserve a folder hierarchy delimiter
              character.</p>
            </li>

            <li>
              <p>SMAP specifies a clearly defined process for
              synchronizing multiple SMAP clients that have the
              same folder opened concurrently.</p>
            </li>

            <li>
              <p>SMAP uses simple unique identifiers that are
              similar to the POP3's model.</p>
            </li>

            <li>
              <p>SMAP provides two ways for removing messages from
              a folder. Messages may be removed directly, or using
              a &#8220;<span class="quote">mark as deleted, then
              expunge</span>&#8221; paradigm.</p>

              <p>Similarly, messages are moved between folders
              using a single &#8220;<span class="quote">move</span>&#8221; process, instead of
              &#8220;<span class="quote">copy, delete,
              expunge</span>&#8221; (which is also available). This
              allows for greater efficiency with quota-limited mail
              accounts, since moving messages between folders will
              not require reserving quota-limited space equivalent
              to the sum total of the messages that are moved.</p>
            </li>

            <li>
              <p>Additional facilities, that are useful in
              internationalized environments, include specifying
              native languages for error messages, and
              internationalized folder names.</p>
            </li>
          </ul>
        </div>
      </div>

      <div class="section" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h4 class="title"><a id="id690156" shape="rect" name="id690156"> </a>Roadmap</h4>
            </div>
          </div>
        </div>

        <p>SMAP is a work-in-progress. Additional advanced mail
        handling protocols are expected to be defined in the
        future. At this time, the following additions are
        planned:</p>

        <div class="itemizedlist">
          <ul type="disc">
            <li>
              <p>Advanced mechanism for uploading new messages to
              the server. Individual attachments are uploaded as
              binary data. The server selects and applies the
              appropriate encoding. The server creates the
              appropriate MIME headers.</p>
            </li>
          </ul>
        </div>
      </div>

      <div class="section" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h4 class="title"><a id="id690179" shape="rect" name="id690179"> </a>Conventions used in this document</h4>
            </div>
          </div>
        </div>

        <p>This document uses &#8220;<span class="quote">U+<em class="replaceable"><code>hhhh</code></em></span>&#8221;, where
        <em class="replaceable"><code>hhhh</code></em> is a
        hexadecimal number, to refer to a specific
        Unicode/ISO-10646 character. In examples,
        &#8220;<span class="quote"><code class="literal">C:</code></span>&#8221; indicates a command sent
        by the SMAP client to the server, and &#8220;<span class="quote"><code class="literal">S:</code></span>&#8221;
        indicates the server's response.</p>

        <p>Some examples have long commands or replies line-wrapped
        for readability purposes. The actual commands and replies
        are generally a single line of text, terminated by the LF
        character (U+000A).</p>
      </div>
    </div>
  </div>

  <div class="navfooter">
    <hr/>

    <table width="100%" summary="Navigation footer">
      <tr>
        <td width="40%" align="left" rowspan="1" colspan="1">
        <a accesskey="p" href="mimestruct.html" shape="rect">Prev</a>&#160;</td>

        <td width="20%" align="center" rowspan="1" colspan="1">
        &#160;</td>

        <td width="40%" align="right" rowspan="1" colspan="1">
        &#160;<a accesskey="n" href="smapsyntax.html" shape="rect">Next</a></td>
      </tr>

      <tr>
        <td width="40%" align="left" valign="top" rowspan="1" colspan="1">mail::mimestruct&#160;</td>

        <td width="20%" align="center" rowspan="1" colspan="1">
        <a accesskey="h" href="index.html" shape="rect">Home</a>&#160;|&#160;<a accesskey="t" href="bk01-toc.html" shape="rect">ToC</a></td>

        <td width="40%" align="right" valign="top" rowspan="1" colspan="1">&#160;SMAP syntax overview</td>
      </tr>
    </table>
  </div>
</body>
</html>