blob: 321f91af39ab1e0cdbf8b8225efe2fe98f1b0f15 [file] [log] [blame]
<?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; Mailbox API</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="collapsed">
<a href="../server/index.html" title="Server">Server</a>
</li>
<li class="collapsed">
<a href="../mailet/index.html" title="Mailets">Mailets</a>
</li>
<li class="expanded">
<a href="../mailbox/index.html" title="Mailbox">Mailbox</a>
<ul>
<li class="none">
<a href="../mailbox/source-code.html" title="Source Code">Source Code</a>
</li>
<li class="none">
<a href="../mailbox/apidocs/index.html" title="Javadoc">Javadoc</a>
</li>
<li class="none">
<a href="https://issues.apache.org/jira/browse/MAILBOX" title="Issue Tracker">Issue Tracker</a>
</li>
<li class="expanded">
<strong>Framework</strong>
<ul>
<li class="none">
<a href="../mailbox/mailbox-store.html" title="Mailbox Store">Mailbox Store</a>
</li>
<li class="none">
<a href="../mailbox/mailbox-tool.html" title="Mailbox Tool">Mailbox Tool</a>
</li>
</ul>
</li>
<li class="expanded">
<a href="../mailbox/index.html" title="Implementations">Implementations</a>
<ul>
<li class="none">
<a href="../mailbox/mailbox-memory.html" title="Mailbox Memory">Mailbox Memory</a>
</li>
<li class="none">
<a href="../mailbox/mailbox-cassandra.html" title="Mailbox Cassandra">Mailbox Cassandra</a>
</li>
<li class="none">
<a href="../mailbox/mailbox-jpa.html" title="Mailbox JPA">Mailbox JPA</a>
</li>
</ul>
</li>
<li class="none">
<a href="../mailbox/mailbox-spring.html" title="Wiring">Wiring</a>
</li>
<li class="none">
<a href="../download.cgi" title="Download releases">Download releases</a>
</li>
</ul>
</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="Mailbox_API_Responsibility"></a>Mailbox API Responsibility</h2>
<p>This module contains the interfaces and exceptions to be used by the
mailbox clients. It represents the &quot;external view&quot; of the mailbox
library client.</p>
<p>The services the mailbox library provides can be summarized as &quot;store/retrieve/search/delete mails&quot;
and update the mails metadata (via uid and flags)</p>
<p>The main entrance interfaces are represented by 3 managers, each responsible
for a specific area: the mailbox manager, the message manager and the
subscription manager.</p>
<p>For example, Apache James Server injects the managers in the POP3, SMTP, IMAP4 servers
and in the Mailet container.</p>
<p>Each implementation <a href="mailbox-memory.html">Memory</a>,
<a href="mailbox-jpa.html">JPA</a>) is responsible
to implement the management interfaces. All &quot;common/util&quot; implementations
reside in the <a href="mailbox-store.html">Mailbox Store</a> module.</p>
</section>
<section>
<h2><a name="Manager_Interfaces"></a>Manager Interfaces</h2>
<section>
<h3><a name="Mailbox_Manager"></a>Mailbox Manager</h3>
<p>The Mailbox Manager is responsible for session creation, operations on mailbox (create, delete, search)
and to return a Message Manager. It also allows to copy and list messages.
</p>
<ul>
Mailbox manager capabilities represents which operations a mailbox manager is able to support. For now the list is :
<li>Basic: supports all basic operations</li>
<li>Move: implements the move capability</li>
</ul>
</section>
<section>
<h3><a name="Message_Manager"></a>Message Manager</h3>
<p>The Message Manager is responsible to create, delete message and its associated metadata (the uid and the flags).</p>
</section>
<section>
<h3><a name="Subscription_Manager"></a>Subscription Manager</h3>
<p>The Subscription Manager is responsible for the (un)subscription between a user and a mailbox.</p>
</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>