http://git-wip-us.apache.org/repos/asf/james-site/blob/f81a00ef/content/server/dev-provided-smtp-hooks.html
----------------------------------------------------------------------
diff --git a/content/server/dev-provided-smtp-hooks.html 
b/content/server/dev-provided-smtp-hooks.html
new file mode 100644
index 0000000..825ad10
--- /dev/null
+++ b/content/server/dev-provided-smtp-hooks.html
@@ -0,0 +1,417 @@
+<?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 2016-12-06 -->
+<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 Server 3.0 - 
+  Apache James Server 3 - Provided SMTP Hooks</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="20161206" />
+    <meta http-equiv="Content-Language" content="en" />
+                                                    
+<link title="DOAP" rel="meta" type="application/rdf+xml" 
href="http://james.apache.org//doap_james-project.rdf"/>
+                      
+          <!-- 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="Apache James Server 3.0" />
+                </a>
+                              <a href="http://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: 2016-12-06</span>
+                      </div>
+            <div class="xright">                    <a href="../../index.html" 
title="Home">Home</a>
+            |
+                        <a href="../index.html" title="Server">Server</a>
+            |
+                        <a href="../../hupa/index.html" title="Hupa">Hupa</a>
+            |
+                        <a href="../../protocols/index.html" 
title="Protocols">Protocols</a>
+            |
+                        <a href="../../mailet/index.html" 
title="Mailets">Mailets</a>
+            |
+                        <a href="../../mailbox/index.html" 
title="Mailbox">Mailbox</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>
+            |
+                        <a href="../../mpt/index.html" title="MPT">MPT</a>
+            |
+                        <a href="../../postage/index.html" 
title="Postage">Postage</a>
+              
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Overview</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" 
title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="release-notes.html" title="Release 
Notes">Release Notes</a>
+            </li>
+          </ul>
+                       <h5>Features</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="feature-mailetcontainer.html" title="Mailet 
Container">Mailet Container</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-queue-priority.html" title="Queue 
Priority">Queue Priority</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-persistence.html" 
title="Persistence">Persistence</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-protocols.html" 
title="Protocols">Protocols</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-smtp-hooks.html" title="SMTP 
Hooks">SMTP Hooks</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-performance.html" 
title="Performance">Performance</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-security.html" 
title="Security">Security</a>
+            </li>
+          </ul>
+                       <h5>User Manual</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="quick-start.html" title="1. Quick Start">1. 
Quick Start</a>
+            </li>
+                  <li class="none">
+                          <a href="install.html" title="2. Install James">2. 
Install James</a>
+            </li>
+                                                                               
                                                                                
                                                                                
                                                                                
 <li class="collapsed">
+                          <a href="config.html" title="3. Configure James">3. 
Configure James</a>
+                  </li>
+                                                                               
                                           <li class="collapsed">
+                          <a href="manage.html" title="4. Manage">4. Manage</a>
+                  </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="monitor.html" title="5. Monitor">5. 
Monitor</a>
+                  </li>
+                                                                               
       <li class="collapsed">
+                          <a href="upgrade.html" title="6. Upgrade">6. 
Upgrade</a>
+                  </li>
+          </ul>
+                       <h5>Developers Corner</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="dev.html" 
title="Architecture">Architecture</a>
+            </li>
+                  <li class="none">
+                          <a href="dev-build.html" title="Build from 
source">Build from source</a>
+            </li>
+                  <li class="none">
+                          <a href="dev-database-schema.html" title="Database 
Schema">Database Schema</a>
+            </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="dev-extend.html" title="Develop 
Extensions">Develop Extensions</a>
+                  </li>
+                                                                               
                                   <li class="expanded">
+                          <a href="dev-provided.html" title="Provided 
Extensions">Provided Extensions</a>
+                    <ul>
+                      <li class="none">
+                          <a href="dev-provided-mailets.html" 
title="Mailets">Mailets</a>
+            </li>
+                      <li class="none">
+                          <a href="dev-provided-matchers.html" 
title="Matchers">Matchers</a>
+            </li>
+                      <li class="none">
+            <strong>SMTP Hooks</strong>
+          </li>
+              </ul>
+        </li>
+          </ul>
+                       <h5>References</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="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>
+          </ul>
+                       <h5>About James</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" 
title="Overview">Overview</a>
+            </li>
+                  <li class="none">
+                          <a href="../../newsarchive.html" 
title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="../../mail.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="../../contribute.html" 
title="Contributing">Contributing</a>
+            </li>
+                  <li class="none">
+                          <a href="../../guidelines.html" 
title="Guidelines">Guidelines</a>
+            </li>
+                  <li class="none">
+                          <a href="http://wiki.apache.org/james"; 
title="Wiki">Wiki</a>
+            </li>
+                  <li class="none">
+                          <a href="../../team-list.html" title="Who We 
Are">Who We Are</a>
+            </li>
+                  <li class="none">
+                          <a href="../../license.html" 
title="License">License</a>
+            </li>
+                  <li class="none">
+                          <a href="../../thanks.html" title="Thanks">Thanks</a>
+            </li>
+                  <li class="none">
+                          <a href="../../support.html" title="Professional 
support">Professional support</a>
+            </li>
+          </ul>
+                       <h5>Download</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../download.cgi" 
title="Releases">Releases</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">
+        <!-- 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. -->
+
+ 
+
+  <div class="section">
+<h2>Provided Hooks in James Server<a 
name="Provided_Hooks_in_James_Server"></a></h2>
+  
+    
+<p>The following hooks are supported:</p>
+
+    
+<div class="section">
+<h3>AuthHook<a name="AuthHook"></a></h3>
+      
+<p>Allows to hook in your code for authenticate users for sending mail via 
SMTP AUTH. 
+      You could for example query your own database table to see if a user 
should be allowed to 
+      send mail with the given username and password.</p>
+    </div>
+
+    
+<div class="section">
+<h3>ConnectionHandler<a name="ConnectionHandler"></a></h3>
+      
+<p>Allows to hook in your code on a new connection. So you could just drop it 
+      or do something else.</p>
+    </div>
+ 
+    
+<div class="section">
+<h3>HeloHook<a name="HeloHook"></a></h3>
+      
+<p>Allows to hook in your code in the HELO and EHLO commands.</p>
+    </div>
+
+    
+<div class="section">
+<h3>MailHook<a name="MailHook"></a></h3>
+      
+<p>Allows to hook in your code in the MAIL command. Like checking the sender 
+      which was given with MAIL FROM: &lt;whatever@example&gt;</p>
+    </div>
+
+    
+<div class="section">
+<h3>MailParametersHook<a name="MailParametersHook"></a></h3>
+      
+<p>Allows to hook in given parameters in the EHLO command.</p>
+    </div>
+
+    
+<div class="section">
+<h3>JamesMessageHook<a name="JamesMessageHook"></a></h3>
+      
+<p>Allow to hook in your code after the email was received via the DATA 
command and 
+         was marked for queuing by the CLRF.CRLF sequence. This will get 
executed right before 
+         the message will actual get queued.</p>
+      
+<p>IMPORTANT: If you want to do heavy processing here 
+         and not want to reject the method based on a criteria you are most 
times better of to 
+         use the Mailet API!</p>
+    </div>
+
+    
+<div class="section">
+<h3>QuitHook<a name="QuitHook"></a></h3>
+      
+<p>Allow to hook in your code in the QUIT command.</p>
+    </div>
+
+    
+<div class="section">
+<h3>RcptHook<a name="RcptHook"></a></h3>
+      
+<p>Allows to hook in your code in the RCPT command. Like implementing a custom 
logic to 
+      check if the mail for a given recipient should get accepted or 
rejected.</p>
+    </div>
+
+    
+<div class="section">
+<h3>UnknownCmdHook<a name="UnknownCmdHook"></a></h3>
+      
+<p>Allows to hook in your code on every unknown command.</p>
+    </div>
+
+    
+<div class="section">
+<h3>MailPriorityHandler<a name="MailPriorityHandler"></a></h3>
+      
+<p>Allows to set priority on mails for the spool queues, depending on the 
destination domain.</p>
+    </div>
+    
+    
+<div class="section">
+<h3>HookResultJMXMonitor<a name="HookResultJMXMonitor"></a></h3>
+      
+<p>Allows to register a HookStatsMBean under JMX for every processed Hook. 
+         You will get statistics about the configured hooks via JMX </p>
+    </div>
+
+  </div>
+
+
+
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">Copyright &#169;                    2002-2016
+                        <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.      
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/f81a00ef/content/server/dev-provided.html
----------------------------------------------------------------------
diff --git a/content/server/dev-provided.html b/content/server/dev-provided.html
new file mode 100644
index 0000000..8db9283
--- /dev/null
+++ b/content/server/dev-provided.html
@@ -0,0 +1,352 @@
+<?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 2016-12-06 -->
+<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 Server 3.0 - 
+  Apache James Server 3 - Extend James</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="20161206" />
+    <meta http-equiv="Content-Language" content="en" />
+                                                    
+<link title="DOAP" rel="meta" type="application/rdf+xml" 
href="http://james.apache.org//doap_james-project.rdf"/>
+                      
+          <!-- 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="Apache James Server 3.0" />
+                </a>
+                              <a href="http://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: 2016-12-06</span>
+                      </div>
+            <div class="xright">                    <a href="../../index.html" 
title="Home">Home</a>
+            |
+                        <a href="../index.html" title="Server">Server</a>
+            |
+                        <a href="../../hupa/index.html" title="Hupa">Hupa</a>
+            |
+                        <a href="../../protocols/index.html" 
title="Protocols">Protocols</a>
+            |
+                        <a href="../../mailet/index.html" 
title="Mailets">Mailets</a>
+            |
+                        <a href="../../mailbox/index.html" 
title="Mailbox">Mailbox</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>
+            |
+                        <a href="../../mpt/index.html" title="MPT">MPT</a>
+            |
+                        <a href="../../postage/index.html" 
title="Postage">Postage</a>
+              
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Overview</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" 
title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="release-notes.html" title="Release 
Notes">Release Notes</a>
+            </li>
+          </ul>
+                       <h5>Features</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="feature-mailetcontainer.html" title="Mailet 
Container">Mailet Container</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-queue-priority.html" title="Queue 
Priority">Queue Priority</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-persistence.html" 
title="Persistence">Persistence</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-protocols.html" 
title="Protocols">Protocols</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-smtp-hooks.html" title="SMTP 
Hooks">SMTP Hooks</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-performance.html" 
title="Performance">Performance</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-security.html" 
title="Security">Security</a>
+            </li>
+          </ul>
+                       <h5>User Manual</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="quick-start.html" title="1. Quick Start">1. 
Quick Start</a>
+            </li>
+                  <li class="none">
+                          <a href="install.html" title="2. Install James">2. 
Install James</a>
+            </li>
+                                                                               
                                                                                
                                                                                
                                                                                
 <li class="collapsed">
+                          <a href="config.html" title="3. Configure James">3. 
Configure James</a>
+                  </li>
+                                                                               
                                           <li class="collapsed">
+                          <a href="manage.html" title="4. Manage">4. Manage</a>
+                  </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="monitor.html" title="5. Monitor">5. 
Monitor</a>
+                  </li>
+                                                                               
       <li class="collapsed">
+                          <a href="upgrade.html" title="6. Upgrade">6. 
Upgrade</a>
+                  </li>
+          </ul>
+                       <h5>Developers Corner</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="dev.html" 
title="Architecture">Architecture</a>
+            </li>
+                  <li class="none">
+                          <a href="dev-build.html" title="Build from 
source">Build from source</a>
+            </li>
+                  <li class="none">
+                          <a href="dev-database-schema.html" title="Database 
Schema">Database Schema</a>
+            </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="dev-extend.html" title="Develop 
Extensions">Develop Extensions</a>
+                  </li>
+                                                                               
                             <li class="expanded">
+            <strong>Provided Extensions</strong>
+                  <ul>
+                      <li class="none">
+                          <a href="dev-provided-mailets.html" 
title="Mailets">Mailets</a>
+            </li>
+                      <li class="none">
+                          <a href="dev-provided-matchers.html" 
title="Matchers">Matchers</a>
+            </li>
+                      <li class="none">
+                          <a href="dev-provided-smtp-hooks.html" title="SMTP 
Hooks">SMTP Hooks</a>
+            </li>
+              </ul>
+        </li>
+          </ul>
+                       <h5>References</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="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>
+          </ul>
+                       <h5>About James</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" 
title="Overview">Overview</a>
+            </li>
+                  <li class="none">
+                          <a href="../../newsarchive.html" 
title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="../../mail.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="../../contribute.html" 
title="Contributing">Contributing</a>
+            </li>
+                  <li class="none">
+                          <a href="../../guidelines.html" 
title="Guidelines">Guidelines</a>
+            </li>
+                  <li class="none">
+                          <a href="http://wiki.apache.org/james"; 
title="Wiki">Wiki</a>
+            </li>
+                  <li class="none">
+                          <a href="../../team-list.html" title="Who We 
Are">Who We Are</a>
+            </li>
+                  <li class="none">
+                          <a href="../../license.html" 
title="License">License</a>
+            </li>
+                  <li class="none">
+                          <a href="../../thanks.html" title="Thanks">Thanks</a>
+            </li>
+                  <li class="none">
+                          <a href="../../support.html" title="Professional 
support">Professional support</a>
+            </li>
+          </ul>
+                       <h5>Download</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../download.cgi" 
title="Releases">Releases</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">
+        <!-- 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. -->
+
+ 
+
+<div class="section">
+<h2>James Provided Extensions<a name="James_Provided_Extensions"></a></h2>
+
+  
+<div class="section">
+<h3>Provided Mailet<a name="Provided_Mailet"></a></h3>
+  
+    
+<p>See the <a href="dev-provided-mailets.html">provided mailets</a> page for 
more information.</p>
+  
+  </div>
+ 
+  
+<div class="section">
+<h3>Provided  Matcher<a name="Provided__Matcher"></a></h3>
+  
+    
+<p>See the <a href="dev-provided-mailets.html">provided matchers</a> page for 
more information.</p>
+  
+  </div>
+ 
+  
+<div class="section">
+<h3>Provided SMTP Hook<a name="Provided_SMTP_Hook"></a></h3>
+  
+    
+<p>See the <a href="dev-provided-smtp-hooks.html">provided SMTP Hooks</a> page 
for more information.</p>
+  
+  </div>
+
+</div>
+
+
+
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">Copyright &#169;                    2002-2016
+                        <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.      
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/f81a00ef/content/server/dev.html
----------------------------------------------------------------------
diff --git a/content/server/dev.html b/content/server/dev.html
new file mode 100644
index 0000000..199c0c8
--- /dev/null
+++ b/content/server/dev.html
@@ -0,0 +1,528 @@
+<?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 2016-12-06 -->
+<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 Server 3.0 - 
+    Apache James Server 3 - Develop on James</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="author" content="James Project Web Team" />
+    <meta name="Date-Revision-yyyymmdd" content="20161206" />
+    <meta http-equiv="Content-Language" content="en" />
+                                                    
+<link title="DOAP" rel="meta" type="application/rdf+xml" 
href="http://james.apache.org//doap_james-project.rdf"/>
+                      <script type="text/javascript" 
src="./js/dev.js"></script>
+          <!-- 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="Apache James Server 3.0" />
+                </a>
+                              <a href="http://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: 2016-12-06</span>
+                      </div>
+            <div class="xright">                    <a href="../../index.html" 
title="Home">Home</a>
+            |
+                        <a href="../index.html" title="Server">Server</a>
+            |
+                        <a href="../../hupa/index.html" title="Hupa">Hupa</a>
+            |
+                        <a href="../../protocols/index.html" 
title="Protocols">Protocols</a>
+            |
+                        <a href="../../mailet/index.html" 
title="Mailets">Mailets</a>
+            |
+                        <a href="../../mailbox/index.html" 
title="Mailbox">Mailbox</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>
+            |
+                        <a href="../../mpt/index.html" title="MPT">MPT</a>
+            |
+                        <a href="../../postage/index.html" 
title="Postage">Postage</a>
+              
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Overview</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" 
title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="release-notes.html" title="Release 
Notes">Release Notes</a>
+            </li>
+          </ul>
+                       <h5>Features</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="feature-mailetcontainer.html" title="Mailet 
Container">Mailet Container</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-queue-priority.html" title="Queue 
Priority">Queue Priority</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-persistence.html" 
title="Persistence">Persistence</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-protocols.html" 
title="Protocols">Protocols</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-smtp-hooks.html" title="SMTP 
Hooks">SMTP Hooks</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-performance.html" 
title="Performance">Performance</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-security.html" 
title="Security">Security</a>
+            </li>
+          </ul>
+                       <h5>User Manual</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="quick-start.html" title="1. Quick Start">1. 
Quick Start</a>
+            </li>
+                  <li class="none">
+                          <a href="install.html" title="2. Install James">2. 
Install James</a>
+            </li>
+                                                                               
                                                                                
                                                                                
                                                                                
 <li class="collapsed">
+                          <a href="config.html" title="3. Configure James">3. 
Configure James</a>
+                  </li>
+                                                                               
                                           <li class="collapsed">
+                          <a href="manage.html" title="4. Manage">4. Manage</a>
+                  </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="monitor.html" title="5. Monitor">5. 
Monitor</a>
+                  </li>
+                                                                               
       <li class="collapsed">
+                          <a href="upgrade.html" title="6. Upgrade">6. 
Upgrade</a>
+                  </li>
+          </ul>
+                       <h5>Developers Corner</h5>
+                  <ul>
+                  <li class="none">
+            <strong>Architecture</strong>
+          </li>
+                  <li class="none">
+                          <a href="dev-build.html" title="Build from 
source">Build from source</a>
+            </li>
+                  <li class="none">
+                          <a href="dev-database-schema.html" title="Database 
Schema">Database Schema</a>
+            </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="dev-extend.html" title="Develop 
Extensions">Develop Extensions</a>
+                  </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="dev-provided.html" title="Provided 
Extensions">Provided Extensions</a>
+                  </li>
+          </ul>
+                       <h5>References</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="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>
+          </ul>
+                       <h5>About James</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" 
title="Overview">Overview</a>
+            </li>
+                  <li class="none">
+                          <a href="../../newsarchive.html" 
title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="../../mail.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="../../contribute.html" 
title="Contributing">Contributing</a>
+            </li>
+                  <li class="none">
+                          <a href="../../guidelines.html" 
title="Guidelines">Guidelines</a>
+            </li>
+                  <li class="none">
+                          <a href="http://wiki.apache.org/james"; 
title="Wiki">Wiki</a>
+            </li>
+                  <li class="none">
+                          <a href="../../team-list.html" title="Who We 
Are">Who We Are</a>
+            </li>
+                  <li class="none">
+                          <a href="../../license.html" 
title="License">License</a>
+            </li>
+                  <li class="none">
+                          <a href="../../thanks.html" title="Thanks">Thanks</a>
+            </li>
+                  <li class="none">
+                          <a href="../../support.html" title="Professional 
support">Professional support</a>
+            </li>
+          </ul>
+                       <h5>Download</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../download.cgi" 
title="Releases">Releases</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">
+        <!-- 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. -->
+
+  
+
+  
+<div class="section">
+<h2>High Level Architecture<a name="High_Level_Architecture"></a></h2>
+  
+    <a href="images/uml/org.apache.james-package_large.png" 
id="high-level-arch-img-id"><img 
src="images/uml/org.apache.james-package_small.png" alt="" /></a>
+    
+<p><a href="images/uml/org.apache.james-package_large.png" 
id="high-level-arch-txt-id">Click to enlarge image</a></p>
+    
+    
+<p>James is a multi-protocol message processing and storage engine. James
+      currently consists of:
+      </p>
+<ul>
+        
+<li>Four mail protocol services: SMTP, POP3, IMAP4 and LMTP.</li>
+        
+<li>Support for SMTP Auth.</li>
+        
+<li>A remote administration server.</li>
+  <!-- <li>an NNTP server,</li> -->
+        
+<li>Support for TLS/SSL.</li>
+        
+<li>A mail processing engine that supports the Mailet API.</li>
+        
+<li>File-system message storage and a message storage interface to 
RDBMS's.</li>
+        
+<li>File-system user record storage and an experimental interface to LDAP 
directories.</li>
+      </ul>
+    
+    
+    
+<p>The mail protocol services use the mailbox librairies to fetch/store 
mails.</p>
+    
+    
+<p>When a mail arrives via SMTP, it gets processed by the SMTP services and is 
placed
+       in a Apache ActiveMQ queue (ActiveMQ  is the Java Messaging Service JMS 
implementation at Apache)</p>
+       
+    
+<p>This allow to decouple mail spooling from the rest of the incoming 
traffic.</p>
+    
+    
+<p>After being the put in the queue, the mailetcontainer is responsible to get 
the 
+       next mail to process from the ActiveMQ queue.</p>
+       
+    
+<p>The mailets defined in mailetcontainer.xml are applied to define if the 
mail is to be 
+       treated as a Local or Remote delivery.</p>
+       
+    
+<p>The Local and Remote deliveries are treated by their corresponding 
mailet.</p>
+    
+    
+<p>The LocalDelivery mailet uses the SieveMailet which uses the 
mailbox/message manager to store the mail.</p>
+
+   
+<p>The result of the mail can be either:</p>
+   
+<ul>
+     
+<li>Gets stored in the mailbox.</li>
+     
+<li>Gets relayed to another server.</li>
+     
+<li>Gets relayed to another server.</li>
+     
+<li>Gets bounced back if it can not be handle by the james instance (this may 
happen during a previous step)</li>
+     
+<li>Gets stored in the &quot;mailstore&quot; which is a special format for 
spam, virus,... (in future release, we may also store those mails in the 
mailbox).</li>
+   </ul>
+  </div>
+
+  
+<div class="section">
+<h2>Technical Architecture<a name="Technical_Architecture"></a></h2>
+  
+    <a href="images/uml/org.apache.james-package-detail_large.png" 
id="arch-img-id"><img 
src="images/uml/org.apache.james-package-detail_small.png" alt="" /></a>
+    
+<p><a href="images/uml/org.apache.james-package-detail_large.png" 
id="arch-txt-id">Click to enlarge image</a></p>
+    
+    
+<p>James uses many other components: Spring, ActiveMQ, OpenJPA, Netty, 
Jackrabbit, Derby...</p>
+    
+    
+<p>The modules can be classified into 3 categories:</p>
+    
+<ul>
+      
+<li>API: They do not include implementation details, they do not have 
dependencies (or at most they have very common dependencies like mailet-api, 
javamail, commons-logging).</li>
+      
+<li>Library: They only depend on API modules or external jars. They don't 
depend on other internal libraries. These libraries should be shared by 
functions (no need to have a Library when it is used only by a function).</li>
+      
+<li>Functions: Everything else. It is harder to see a case of 
&quot;direct&quot; reuse of a function jar. Most times we'll only have code 
reuse. It is preferable to limit Function to Functions dependencies.</li>
+    </ul>
+    
+  </div>
+    
+  
+<div class="section">
+<h2>Server Coding Guidelines<a name="Server_Coding_Guidelines"></a></h2>
+    
+    
+<p>LogEnabled interface as the preferred way, except for non-server code and 
classes that have no bean definition.
+       LogEnabled should be used wherever logging is needed and no 
&quot;session-scoped&quot; Log is provided.</p>
+  
+  </div>
+    
+  
+<div class="section">
+<h2>Design Objectives<a name="Design_Objectives"></a></h2>
+      
+      
+<div class="section">
+<h3>Features<a name="Features"></a></h3>
+      
+        
+<p>These are some of the currently implemented features:</p>
+
+        
+<p><i><b>Complete portability</b></i> Apache James is be a 100% pure Java 
application
+           based on the Java 2 platform and the JavaMail 1.4 API.</p>
+
+        
+<p><i><b>Protocol abstraction</b></i> Unlike other mail engines, protocols are 
seen only
+           like &quot;communication languages&quot; ruling comunications 
between clients and
+           the server. Apache James is not be tied to any particular protocol 
but
+           follow an abstracted server design (like JavaMail did on the
+           client side)</p>
+
+        
+<p><i><b>Complete solution</b></i> The mail system is able to handle both mail
+           transport and storage in a single server application. Apache James
+           works alone without the need for any other server or solution.</p>
+
+        
+<p><i><b>Mailet support</b></i> Apache James supports the Apache Mailet API. A 
Mailet
+               is a discrete piece of mail-processing logic which is 
incorporated into
+               a Mailet-compliant mail-server's processing. This easy-to-write,
+               easy-to-use pattern allows developers to build powerful 
customized mail
+               systems. Examples of the services a Mailet might provide 
include: a
+               mail-to-fax or mail-to-phone transformer, a filter, a language 
translator, a mailing
+               list manager, etc. Several Mailets are included in the James
+               distribution (see <a 
href="dev-provided-mailets.html">documentation</a>).</p>
+
+        
+<p><i><b>Resource abstraction</b></i> Like protocols, resources are abstracted 
and,
+           accessed through defined interfaces (JavaMail for transport, JDBC 
for
+           spool storage or user accounts in RDBMS's, Apache Mailet API). The 
server is
+           highly modular and reuse solutions from other projects.</p>
+
+        
+<p><i><b>Secure and multi-threaded design</b></i> Based on well known
+           frameworks such as Spring, ActiveMQ, OpenJPA, Netty,..., Apache 
James has a careful,
+           security-oriented, full multi-threaded design, to allow performance,
+           scalability and mission-critical use.</p>
+
+        
+<p>Anything else you may want if you help us write it :-)</p>
+
+      </div>
+
+      
+<div class="section">
+<h3>Standards Compliance<a name="Standards_Compliance"></a></h3>
+
+        
+<p>It is the existence of published &quot;open&quot; standards which 
+           allows independant teams to develop interoperable software.</p>
+      
+        
+<p>James attempts to support a number of these standards most of which are 
+          IETF RFC's and in the areas covered by these standards the published 
standard 
+          is our requirements document.</p>
+        
+        
+<p>This sometimes leads to confusion where behaviour is not 
+          the subject of a relevant standard, or conflict where common 
+          (de-facto) behaviour is actually at odds with a supported 
standard.</p>
+        
+        
+<p>We believe that it is our responsibility to adhere to the published 
standard. 
+          If we allow our implementation to deviate it means that we are 
tacitly encouraging 
+          the situation whereby interoperability is no longer guarenteed by 
standards 
+          compliance alone, but also requires access to undocumented and 
possibly 
+          even commercially licenced technology. There is no easy route for a 
+          newcomer to aquire these secrets, and interoperabilty 
+          becomes something only available to the elite.</p>
+        
+        
+<p>The James policy for issues of non-compliance tries to tread the fine line
+          between a pragmatic acceptance of other people's misinterpretation 
of the
+          RFC's and an evangelical defence of open standards as the key to 
freedom of interoperation.</p>
+        
+        
+<p>In practice this policy is that certain well argued of cases of
+          non-compliance which can be *safely* worked around, will be 
tolerated by
+          James.</p>
+      
+        
+<p>In cases (like jira issue JAMES-344) where variance from a published 
standard is
+           required it is desirable that this functionality is disabled in 
James by default,
+           it must be prominently and clearly documented that this causes 
James 
+           to violate the relevant standard, and should be enabled by explicit 
+           configuration, making its use a conscious decision of the user 
rather 
+           than an decision taken by the James team.</p>
+        
+        
+<p>In cases where the required behaviour is not within the scope of any 
standard which
+           James claims to support (such as behaviour which is a de-facto 
standard or
+           an <i>internet draft</i> RFC but not yet subject of a <i>standards 
track</i> RFC) it is
+           acceptable to implement the behaviour so long as it is adequately
+           documented (for instance by refrence to an <i>internet draft</i> or 
+           other public document) and users can be clear about what to expect 
from James.</p>
+
+      </div>
+
+  </div>
+
+
+
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">Copyright &#169;                    2002-2016
+                        <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.      
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/f81a00ef/content/server/feature-mailetcontainer.html
----------------------------------------------------------------------
diff --git a/content/server/feature-mailetcontainer.html 
b/content/server/feature-mailetcontainer.html
new file mode 100644
index 0000000..d317619
--- /dev/null
+++ b/content/server/feature-mailetcontainer.html
@@ -0,0 +1,463 @@
+<?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 2016-12-06 -->
+<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 Server 3.0 - 
+  Apache James Server 3 - Mailet 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="20161206" />
+    <meta http-equiv="Content-Language" content="en" />
+                                                    
+<link title="DOAP" rel="meta" type="application/rdf+xml" 
href="http://james.apache.org//doap_james-project.rdf"/>
+                      
+          <!-- 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="Apache James Server 3.0" />
+                </a>
+                              <a href="http://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: 2016-12-06</span>
+                      </div>
+            <div class="xright">                    <a href="../../index.html" 
title="Home">Home</a>
+            |
+                        <a href="../index.html" title="Server">Server</a>
+            |
+                        <a href="../../hupa/index.html" title="Hupa">Hupa</a>
+            |
+                        <a href="../../protocols/index.html" 
title="Protocols">Protocols</a>
+            |
+                        <a href="../../mailet/index.html" 
title="Mailets">Mailets</a>
+            |
+                        <a href="../../mailbox/index.html" 
title="Mailbox">Mailbox</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>
+            |
+                        <a href="../../mpt/index.html" title="MPT">MPT</a>
+            |
+                        <a href="../../postage/index.html" 
title="Postage">Postage</a>
+              
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                                <h5>Overview</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="index.html" 
title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="release-notes.html" title="Release 
Notes">Release Notes</a>
+            </li>
+          </ul>
+                       <h5>Features</h5>
+                  <ul>
+                  <li class="none">
+            <strong>Mailet Container</strong>
+          </li>
+                  <li class="none">
+                          <a href="feature-queue-priority.html" title="Queue 
Priority">Queue Priority</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-persistence.html" 
title="Persistence">Persistence</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-protocols.html" 
title="Protocols">Protocols</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-smtp-hooks.html" title="SMTP 
Hooks">SMTP Hooks</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-performance.html" 
title="Performance">Performance</a>
+            </li>
+                  <li class="none">
+                          <a href="feature-security.html" 
title="Security">Security</a>
+            </li>
+          </ul>
+                       <h5>User Manual</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="quick-start.html" title="1. Quick Start">1. 
Quick Start</a>
+            </li>
+                  <li class="none">
+                          <a href="install.html" title="2. Install James">2. 
Install James</a>
+            </li>
+                                                                               
                                                                                
                                                                                
                                                                                
 <li class="collapsed">
+                          <a href="config.html" title="3. Configure James">3. 
Configure James</a>
+                  </li>
+                                                                               
                                           <li class="collapsed">
+                          <a href="manage.html" title="4. Manage">4. Manage</a>
+                  </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="monitor.html" title="5. Monitor">5. 
Monitor</a>
+                  </li>
+                                                                               
       <li class="collapsed">
+                          <a href="upgrade.html" title="6. Upgrade">6. 
Upgrade</a>
+                  </li>
+          </ul>
+                       <h5>Developers Corner</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="dev.html" 
title="Architecture">Architecture</a>
+            </li>
+                  <li class="none">
+                          <a href="dev-build.html" title="Build from 
source">Build from source</a>
+            </li>
+                  <li class="none">
+                          <a href="dev-database-schema.html" title="Database 
Schema">Database Schema</a>
+            </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="dev-extend.html" title="Develop 
Extensions">Develop Extensions</a>
+                  </li>
+                                                                               
                         <li class="collapsed">
+                          <a href="dev-provided.html" title="Provided 
Extensions">Provided Extensions</a>
+                  </li>
+          </ul>
+                       <h5>References</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="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>
+          </ul>
+                       <h5>About James</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" 
title="Overview">Overview</a>
+            </li>
+                  <li class="none">
+                          <a href="../../newsarchive.html" 
title="News">News</a>
+            </li>
+                  <li class="none">
+                          <a href="../../mail.html" title="Mailing 
Lists">Mailing Lists</a>
+            </li>
+                  <li class="none">
+                          <a href="../../contribute.html" 
title="Contributing">Contributing</a>
+            </li>
+                  <li class="none">
+                          <a href="../../guidelines.html" 
title="Guidelines">Guidelines</a>
+            </li>
+                  <li class="none">
+                          <a href="http://wiki.apache.org/james"; 
title="Wiki">Wiki</a>
+            </li>
+                  <li class="none">
+                          <a href="../../team-list.html" title="Who We 
Are">Who We Are</a>
+            </li>
+                  <li class="none">
+                          <a href="../../license.html" 
title="License">License</a>
+            </li>
+                  <li class="none">
+                          <a href="../../thanks.html" title="Thanks">Thanks</a>
+            </li>
+                  <li class="none">
+                          <a href="../../support.html" title="Professional 
support">Professional support</a>
+            </li>
+          </ul>
+                       <h5>Download</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../download.cgi" 
title="Releases">Releases</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">
+        <!-- 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. -->
+
+ 
+
+  <div class="section">
+<h2>MailetContainer<a name="MailetContainer"></a></h2>
+  
+    
+<div class="section">
+<h3>Introduction<a name="Introduction"></a></h3>
+    
+      
+<p>James separates the services that deliver mail to James (i.e. SMTP, 
FetchMail) 
+         from the engine that processes mail after it is received by James.  
The 
+         SpoolManager component is James' mail processing engine.  James' 
SpoolManager component 
+         is also called the Mailet container. It is these mailets and matchers 
that actually carry out mail processing.</p>
+      
+      
+<p>More on the configuration of the SpoolManager and the Mailet API can be 
found <a href="config-mailetcontainer.html">here</a>.</p>
+      
+    </div>
+    
+    
+<div class="section">
+<h3>Matchers and Mailets<a name="Matchers_and_Mailets"></a></h3>
+    
+      
+<p>Core to the SpoolManager operation are Matchers and Mailets.  A Matcher is 
a 
+      simple object that checks whether a mail message matches a particular 
condition. 
+      A mailet is another type object that processes an email message in some 
way.  Some 
+      typical tasks appropriate for a mailet would be adding a header, 
delivering the message 
+      to a local repository, or handling remote delivery.  Both the Matcher 
and Mailet APIs are 
+      public, allowing James users to write their own custom matchers and 
mailets.  James 
+      comes with a large set of pre-built matchers and mailets.</p>
+      
+      
+<p>Matchers and mailets are used in pairs.  At each stage in processing a 
message is checked 
+      against a matcher.  The matcher will attempt to match the mail message.  
The match is not simply
+      a yes or no issue.  Instead, the match method returns a collection of 
matched recipients.  If the 
+      this collection of matched recipients is empty, the mailet is not 
invoked.  If the collection of
+      matched recipients is the entire set of original recipients, the mail is 
then processed by the 
+      associated mailet.  Finally, if the matcher only matches a proper subset 
of the original recipients,
+      the original mail is duplicated.  The recipients for one message are set 
to the matched recipients,
+      and that message is processed by the mailet.  The recipients for the 
other mail are set to the
+      non-matching recipients, and that message is not processed by the 
mailet.</p>
+    
+    </div>
+
+    
+<div class="section">
+<h3>Processors<a name="Processors"></a></h3>
+
+      
+<p>One level up from the matchers and mailets are the processors.  Each 
processor 
+      is a list of matcher/mailet pairs.  During mail processing, mail 
messages will be 
+      processed by each pair, in order.  In most cases, the message will be 
processed by 
+      all the pairs in the processor.  However, it is possible for a mailet to 
change the 
+      state of the mail message so it is immediately directed to another 
processor, and no 
+      additional processing occurs in the current processor.  Typically this 
occurs when the mailet 
+      wants to prevent future processing of this message (i.e. the mail 
message has been delivered locally, 
+      and hence requires no further processing) or when the mail message has 
been identified
+      as a candidate for special processing (i.e. the message is spam and thus 
should be 
+      routed to the spam processor).  Because of this redirection, the 
processors in the 
+      SpoolManager form a tree.  The root processor, which must be present, is 
the root of
+      this tree.</p>
+    
+    </div>
+        
+    
+<div class="section">
+<h3>SpoolManager<a name="SpoolManager"></a></h3>
+
+      
+<p>The SpoolManager continually checks for mail in the spool repository.  When
+      mail is first found in the repository, it is delivered to the root 
processor.  
+      Mail can be placed on this spool from a number of sources (SMTP, 
FetchPOP, a 
+      custom component).  This spool repository is also used for storage of 
mail that is
+      being redirected from one processor to another.  Mail messages are 
driven through 
+      the processor tree until they reach the end of a processor or are marked 
completed 
+      by a mailet.</p>
+    
+      
+<p>More on configuration of the SpoolManager can be found <a 
href="config-mailetcontainer.html">here</a>.</p>
+    
+      
+<p>Much of the power of James lies in the SpoolManager component.  Custom 
matchers and 
+      mailets can be easily developed to address an administrator's particular 
needs.  The 
+      processor tree can easily be configured to sort, filter, and deliver 
mail based on any 
+      number of criteria.  Mail administrators new to James should spend some 
time learning how 
+      to configure the SpoolManager to meet their needs.</p>
+ 
+     </div>
+  
+     
+<div class="section">
+<h3>Mailet API<a name="Mailet_API"></a></h3>
+    
+        
+<p>The Mailet API is a simple API used to build mail processing applications.  
James is a Mailet 
+        container, allowing administrators to deploy Mailets (both custom and 
pre-made) to carry out a 
+        variety of complex mail processing tasks.  In the default 
configuration James uses Mailets to carry 
+        out a number of tasks that are carried out deep in the source code of 
other mail servers (i.e. list 
+        processing, remote and local delivery).</p>
+    
+        
+<p>As it stands today, the Mailet API defines interfaces for both Matchers and 
Mailets.</p>
+    
+        
+<ul>
+          
+<li>Matchers, as their name would suggest, match mail messages against certain 
conditions.  They 
+              return some subset (possibly the entire set) of the original 
recipients of the message if there 
+              is a match.  An inherent part of the Matcher contract is that a 
Matcher should not induce any changes
+              in a message under evaluation.</li>
+          
+<li>Mailets are responsible for actually processing the message.  They may 
alter the message in any fashion,
+              or pass the message to an external API or component.  This can 
include delivering a message to its destination 
+              repository or SMTP server.</li>
+        </ul>
+    
+        
+<p>The Mailet API is currently in its second revision.  Although, the Mailet 
API is expected to undergo substantial changes in the near future, it is our 
aim that existing Mailets that abided purely by the prior Mailet API interfaces 
will continue to run with the revised specification.</p>
+    
+        
+<p>The Javadoc for the Mailet API can be found <a class="externalLink" 
href="http://james.apache.org/mailet/api/apidocs/";>here</a>.</p>
+    
+        
+<p>James bundles a number of Matchers and Mailets in its distribution.  
Descriptions of provided matchers 
+        can be found <a href="dev-provided-matchers.html">here</a>, while 
descriptions of provided mailets can be found 
+        <a href="dev-provided-mailets.html">here</a>.</p>
+        
+        
+<p>You can read more on mailets on following web sites:</p>
+    
+        
+<ul>
+          
+<li><a class="externalLink" 
href="http://james.apache.org/mailet/index.html";>Mailet Site</a></li>
+          
+<li><a class="externalLink" 
href="http://james.apache.org/mailet/api/index.html";>Mailet API</a></li>
+          
+<li><a class="externalLink" 
href="http://james.apache.org/mailet/base/index.html";>Mailet Toolkit</a></li>
+          
+<li><a class="externalLink" 
href="http://james.apache.org/mailet/crypto/index.html";>Mailet Crypto</a></li>
+          
+<li><a class="externalLink" 
href="http://james.apache.org/mailet/standard/index.html";>Mailet Sieve</a></li>
+          
+<li><a class="externalLink" 
href="http://james.apache.org/mailet/standard/index.html";>Mailet 
Standard</a></li>
+          
+<li><a class="externalLink" 
href="http://james.apache.org/mailet/maven-mailetdocs-plugin/index.html";>Mailet 
Docs</a></li>
+          
+<li><a href="/james-server-mailets-function/mailet-report.html">Server 
Mailets</a></li>
+        </ul>
+    
+     </div>
+
+  </div>
+  
+
+
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">Copyright &#169;                    2002-2016
+                        <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.      
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to