You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/07/05 02:14:52 UTC

[13/13] james-site git commit: Deploy new website version

Deploy new website version


Project: http://git-wip-us.apache.org/repos/asf/james-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-site/commit/e4e14366
Tree: http://git-wip-us.apache.org/repos/asf/james-site/tree/e4e14366
Diff: http://git-wip-us.apache.org/repos/asf/james-site/diff/e4e14366

Branch: refs/heads/asf-site
Commit: e4e1436605a03e9b621999b12828e220ee4b3afb
Parents: 78bf63c
Author: benwa <bt...@linagora.com>
Authored: Thu Jul 5 09:14:08 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jul 5 09:14:08 2018 +0700

----------------------------------------------------------------------
 content/contribute.html                         |   8 +-
 content/documentation.html                      |   8 +-
 content/download.html                           |   8 +-
 content/feed.xml                                |   4 +-
 content/guidelines.html                         |   8 +-
 content/howTo/imap-server.html                  | 281 ++++++++
 content/howTo/index.html                        | 166 +++++
 content/howTo/mail-processing.html              | 318 +++++++++
 content/howTo/spf.html                          | 264 +++++++
 .../images/guice-jpa-architecture-overview.png  | Bin 0 -> 41998 bytes
 content/index.html                              |   3 +
 content/license.html                            |   8 +-
 content/mail.html                               |   8 +-
 content/mailbox/index.html                      |   8 +-
 content/mailbox/mailbox-api.html                |   8 +-
 content/mailbox/mailbox-cassandra.html          |   8 +-
 content/mailbox/mailbox-hbase.html              |   8 +-
 content/mailbox/mailbox-jcr.html                |   8 +-
 content/mailbox/mailbox-jpa.html                |   8 +-
 content/mailbox/mailbox-maildir.html            |   8 +-
 content/mailbox/mailbox-memory.html             |   8 +-
 content/mailbox/mailbox-spring.html             |   8 +-
 content/mailbox/mailbox-store.html              |   8 +-
 content/mailbox/mailbox-tool.html               |   8 +-
 content/mailbox/source-code.html                |   8 +-
 content/mailet/ai/index.html                    |   8 +-
 content/mailet/api/index.html                   |   8 +-
 content/mailet/base/index.html                  |   8 +-
 content/mailet/conf.html                        |   8 +-
 content/mailet/crypto/conf.html                 |   8 +-
 content/mailet/crypto/index.html                |   8 +-
 content/mailet/examples/standard.html           |   8 +-
 content/mailet/index.html                       |   8 +-
 .../mailet/mailetdocs-maven-plugin/index.html   |   8 +-
 content/mailet/quickstart.html                  |   8 +-
 content/mailet/release-notes-old.html           |   8 +-
 content/mailet/release-notes.html               |   8 +-
 content/mailet/standard/conf.html               |   8 +-
 content/mailet/standard/index.html              |   8 +-
 content/mailet/stylesheets/project.html         |   8 +-
 content/mailet/usage.html                       |   8 +-
 content/mpt/index.html                          |   8 +-
 content/mpt/release-notes.html                  |   8 +-
 content/project-info.html                       |   8 +-
 content/protocols/changes.html                  |   8 +-
 content/protocols/imap4.html                    |   8 +-
 content/protocols/index.html                    |   8 +-
 content/protocols/pop3.html                     |   8 +-
 content/protocols/smtp.html                     |   8 +-
 content/protocols/source-code.html              |   8 +-
 content/server/advantages.html                  |  10 +-
 content/server/archive/announcement_2_1.html    |   8 +-
 content/server/archive/architecture_v1_2.html   |   8 +-
 content/server/archive/architecture_v2_0.html   |   8 +-
 content/server/archive/configuration_v2_0.html  |   8 +-
 content/server/archive/document_archive.html    |   8 +-
 content/server/archive/install.html             |   8 +-
 content/server/archive/usingJDBC_v2.0.html      |   8 +-
 content/server/archive/usingLDAP_v1_2.html      |   8 +-
 content/server/archive/usingTLS_v1_2.html       |   8 +-
 content/server/config-antispam.html             |  15 +-
 content/server/config-cassandra.html            |  17 +-
 content/server/config-dnsservice.html           |  23 +-
 content/server/config-domainlist.html           |  15 +-
 content/server/config-elasticsearch.html        |  15 +-
 content/server/config-events.html               |  15 +-
 content/server/config-fetchmail.html            |  15 +-
 content/server/config-guice.html                |  15 +-
 content/server/config-imap4.html                |  19 +-
 content/server/config-jmap.html                 | 362 ++++++++++
 content/server/config-listeners.html            |  27 +-
 content/server/config-mailbox.html              |  15 +-
 content/server/config-mailetcontainer.html      |  15 +-
 content/server/config-mailrepositorystore.html  |  15 +-
 content/server/config-pop3.html                 |  19 +-
 content/server/config-quota.html                |  15 +-
 .../server/config-recipientrewritetable.html    |  15 +-
 content/server/config-sieve.html                |  15 +-
 content/server/config-smtp-lmtp.html            |  19 +-
 content/server/config-spring-jpa-postgres.html  |  15 +-
 content/server/config-ssl-tls.html              |  15 +-
 content/server/config-system.html               |  19 +-
 content/server/config-users.html                |  15 +-
 content/server/config.html                      |  31 +-
 content/server/dev-build.html                   |  12 +-
 content/server/dev-database-schema.html         |  12 +-
 content/server/dev-extend-mailet.html           |  12 +-
 content/server/dev-extend-matcher.html          |  12 +-
 content/server/dev-extend-smtp-hook.html        |  12 +-
 content/server/dev-extend.html                  |  12 +-
 content/server/dev-provided-smtp-hooks.html     |  12 +-
 content/server/dev-provided.html                |  12 +-
 content/server/dev.html                         |  12 +-
 content/server/feature-mailetcontainer.html     |  12 +-
 content/server/feature-performance.html         |  12 +-
 content/server/feature-persistence.html         |  12 +-
 content/server/feature-protocols.html           |  15 +-
 content/server/feature-queue-priority.html      |  12 +-
 content/server/feature-security.html            |  12 +-
 content/server/feature-smtp-hooks.html          |  12 +-
 content/server/features.html                    |  12 +-
 content/server/index.html                       |  10 +-
 content/server/install.html                     |  12 +-
 content/server/install/guice-cassandra.html     |  12 +-
 content/server/install/guice-jpa-smtp.html      |  12 +-
 content/server/install/guice-jpa.html           |  12 +-
 content/server/manage-cli.html                  |  12 +-
 content/server/manage-jmx.html                  |   8 +-
 content/server/manage-webadmin.html             | 698 ++++++++++++-------
 content/server/manage.html                      |  12 +-
 content/server/metrics.html                     |  14 +-
 content/server/monitor-folders.html             |  12 +-
 content/server/monitor-jmx.html                 |  12 +-
 content/server/monitor-logging.html             |  12 +-
 content/server/monitor.html                     |  12 +-
 content/server/objectives.html                  |  10 +-
 content/server/other-versions.html              |  10 +-
 content/server/packaging.html                   |  12 +-
 content/server/quick-start-cassandra.html       |   8 +-
 content/server/quick-start.html                 |  12 +-
 content/server/release-notes.html               |  10 +-
 content/server/rfcs.html                        |  10 +-
 content/server/upgrade-2.3.html                 |  12 +-
 content/server/upgrade-database.html            |  12 +-
 content/server/upgrade.html                     |  12 +-
 content/support.html                            |   8 +-
 content/team-list.html                          |   8 +-
 content/thanks.html                             |   8 +-
 128 files changed, 2562 insertions(+), 850 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/contribute.html
----------------------------------------------------------------------
diff --git a/content/contribute.html b/content/contribute.html
index 50dc4ea..be38908 100644
--- a/content/contribute.html
+++ b/content/contribute.html
@@ -18,7 +18,7 @@
   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 2018-06-07 -->
+<!-- Generated by Apache Maven Doxia at 2018-07-05 -->
 <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" />
@@ -37,7 +37,7 @@
     <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="20180607" />
+    <meta name="Date-Revision-yyyymmdd" content="20180705" />
     <meta http-equiv="Content-Language" content="en" />
         
           <!-- Google Analytics -->
@@ -75,7 +75,7 @@
             
                 
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2018-06-07</span>
+        <span id="publishDate">Last Published: 2018-07-05</span>
                       </div>
             <div class="xright">                    <a href="index.html" title="Home">Home</a>
             |
@@ -138,7 +138,7 @@
             </li>
               </ul>
         </li>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                  <li class="collapsed">
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                    <li class="collapsed">
                           <a href="server/index.html" title="Server">Server</a>
                   </li>
                                                                                                                                                                                                                                                                           <li class="collapsed">

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/documentation.html
----------------------------------------------------------------------
diff --git a/content/documentation.html b/content/documentation.html
index ac47f5e..8cf138c 100644
--- a/content/documentation.html
+++ b/content/documentation.html
@@ -18,7 +18,7 @@
   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 2018-06-07 -->
+<!-- Generated by Apache Maven Doxia at 2018-07-05 -->
 <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" />
@@ -37,7 +37,7 @@
     <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="20180607" />
+    <meta name="Date-Revision-yyyymmdd" content="20180705" />
     <meta http-equiv="Content-Language" content="en" />
         <script type="text/javascript" src="js/james/index.js?v=2"></script><script type="text/javascript" src="js/james/functions.js"></script>
           <!-- Google Analytics -->
@@ -75,7 +75,7 @@
             
                 
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2018-06-07</span>
+        <span id="publishDate">Last Published: 2018-07-05</span>
                       </div>
             <div class="xright">                    <a href="index.html" title="Home">Home</a>
             |
@@ -138,7 +138,7 @@
             </li>
               </ul>
         </li>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                  <li class="collapsed">
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                    <li class="collapsed">
                           <a href="server/index.html" title="Server">Server</a>
                   </li>
                                                                                                                                                                                                                                                                           <li class="collapsed">

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/download.html
----------------------------------------------------------------------
diff --git a/content/download.html b/content/download.html
index b851169..4e95a72 100644
--- a/content/download.html
+++ b/content/download.html
@@ -18,7 +18,7 @@
   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 2018-06-07 -->
+<!-- Generated by Apache Maven Doxia at 2018-07-05 -->
 <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" />
@@ -37,7 +37,7 @@
     <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="Apache James Mail Server Project" />
-    <meta name="Date-Revision-yyyymmdd" content="20180607" />
+    <meta name="Date-Revision-yyyymmdd" content="20180705" />
     <meta http-equiv="Content-Language" content="en" />
         
           <!-- Google Analytics -->
@@ -133,7 +133,7 @@
             
                 
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2018-06-07</span>
+        <span id="publishDate">Last Published: 2018-07-05</span>
                       </div>
             <div class="xright">                    <a href="index.html" title="Home">Home</a>
             |
@@ -164,7 +164,7 @@
                                                                                                                                                                                                                                       <li class="collapsed">
                           <a href="documentation.html" title="About James">About James</a>
                   </li>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                  <li class="collapsed">
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                    <li class="collapsed">
                           <a href="server/index.html" title="Server">Server</a>
                   </li>
                                                                                                                                                                                                                                                                           <li class="collapsed">

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/feed.xml
----------------------------------------------------------------------
diff --git a/content/feed.xml b/content/feed.xml
index 441b674..ff321a5 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -24,8 +24,8 @@
 </description>
     <link>http://james.apache.org/</link>
     <atom:link href="http://james.apache.org/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Thu, 07 Jun 2018 15:56:52 +0700</pubDate>
-    <lastBuildDate>Thu, 07 Jun 2018 15:56:52 +0700</lastBuildDate>
+    <pubDate>Thu, 05 Jul 2018 09:13:05 +0700</pubDate>
+    <lastBuildDate>Thu, 05 Jul 2018 09:13:05 +0700</lastBuildDate>
     <generator>Jekyll v3.4.3</generator>
     
       <item>

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/guidelines.html
----------------------------------------------------------------------
diff --git a/content/guidelines.html b/content/guidelines.html
index 53a4285..a3cfb45 100644
--- a/content/guidelines.html
+++ b/content/guidelines.html
@@ -18,7 +18,7 @@
   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 2018-06-07 -->
+<!-- Generated by Apache Maven Doxia at 2018-07-05 -->
 <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" />
@@ -37,7 +37,7 @@
     <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="20180607" />
+    <meta name="Date-Revision-yyyymmdd" content="20180705" />
     <meta http-equiv="Content-Language" content="en" />
         
           <!-- Google Analytics -->
@@ -75,7 +75,7 @@
             
                 
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2018-06-07</span>
+        <span id="publishDate">Last Published: 2018-07-05</span>
                       </div>
             <div class="xright">                    <a href="index.html" title="Home">Home</a>
             |
@@ -138,7 +138,7 @@
             </li>
               </ul>
         </li>
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                  <li class="collapsed">
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                                                                                                    <li class="collapsed">
                           <a href="server/index.html" title="Server">Server</a>
                   </li>
                                                                                                                                                                                                                                                                           <li class="collapsed">

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/howTo/imap-server.html
----------------------------------------------------------------------
diff --git a/content/howTo/imap-server.html b/content/howTo/imap-server.html
new file mode 100644
index 0000000..8949423
--- /dev/null
+++ b/content/howTo/imap-server.html
@@ -0,0 +1,281 @@
+<!--
+    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>
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Apache James</title>
+
+        <link rel="stylesheet" type="text/css" href="/assets/css/main.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/font-awesome.min.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie8.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie9.css">
+        <link rel="shortcut icon" href="/images/james-logo.png">
+    </head>
+<body>
+    <!--
+    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.
+-->
+<link href="assets/css/lightbox.css" rel="stylesheet">
+<link href="assets/css/lity.min.css" rel="stylesheet" />
+<div id="wrapper">
+    <div class="apache_ref">
+        <a href="https://www.apache.org" alt="apache foundation link"><img src="https://www.apache.org/foundation/press/kit/asf_logo.svg" title="apache foundation logo"/></a>
+    </div>
+    <div class="apache_ref_mobile">
+        <a href="https://www.apache.org" alt="apache foundation link">The Apache Software Foundation</a>
+    </div>
+    <div class="apache_ref_left">
+        <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+    </div>
+    <div class="apache_ref_left_mobile">
+        <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+    </div>
+
+    <!-- Header -->
+    <header id="header" class="alt">
+        <div class="logo"><a href="/index.html" alt="Apache James"><img src="/images/james.svg" alt="james logo"/></a></div>
+        <h1 class="hidden">James Enterprise Mail Server</h1>
+        <h2>Emails at the heart of your business logic</h2>
+    </header>
+
+    <!-- Main -->
+    <div id="main">
+
+        <!-- Introduction -->
+        <section id="intro" class="main special">
+            <div class="">
+                <div class="content align-left">
+                    <header class="major">
+                        <h1><b>Setting up an IMAP server</b></h1>
+                    </header>
+
+                    <p>
+                        This document will present how to set up a James server in order to serve as a personal IMAP + SMTP
+                        server. We will cover:
+                    </p>
+
+                    <ul>
+                        <li>DNS creation and MX record</li>
+                        <li>Server components description</li>
+                        <li>Generation of a custom keystore</li>
+                        <li>Starting James</li>
+                        <li>Basic James administration</li>
+                        <li>Additional features one might want to enable...</li>
+                    </ul>
+
+                    <p>
+                        This guide rely on the JPA Guice Docker image. To run it, one need to have docker installed.
+                    </p>
+
+                    <header class="major">
+                        <h2><b>DNS resolution</b></h2>
+                    </header>
+
+                    <p>
+                        Someone willing to send you an email will first have to discover which IP your mail server have.
+                        The way this is achieved is through MX (means Mail eXchange) DNS record.
+                    </p>
+
+                    <p>
+                        Imagine bob@domain.org sends a mail to alice@company.com. Bob will:
+                    </p>
+
+                    <ol>
+                        <li>Ask <code>company.com</code> DNS server its MX entries</li>
+                        <li><code>company.com</code> respond that it is <code>mx.company.com</code></li>
+                        <li>Bob resolves <code>mx.company.com</code> ip address...</li>
+                        <li>And can establish a connection to <code>mx.company.com</code> to send an email to Alice</li>
+                    </ol>
+
+                    <p>All is needed is a MX entry in domain name resolution pointing to the future IP of your James server.</p>
+
+                    <header class="major">
+                        <h2><b>JAMES architecture</b></h2>
+                    </header>
+
+                    <p>JPA guice docker image relies on an embedded derby database for storing data. Note that Apache Lucene library
+                        is used for email search. A mail queue is implemented on top of an embedded Apache ActiveMQ. Hence James do not need
+                        any external service for being running.
+                    </p>
+
+                    <img src="/images/guice-jpa-architecture-overview.png">
+
+                    <p>
+                        JPA guice offers the following protocols:
+                    </p>
+
+                    <ul class="no-padding">
+                        <li><b>SMTP</b> For receiving emails</li>
+                        <li><b>IMAP</b> For reading emails</li>
+                        <li><b><a href="http://james.apache.org/server/manage-webadmin.html">WebAdmin</a></b> is a REST API allowing you to manage Apache JAMES</li>
+                    </ul>
+
+                    <p>The following protocols are also available:</p>
+
+                    <ul class="no-padding">
+                        <li><b>LMTP</b> local version of SMTP</li>
+                        <li><b>POP3</b> For reading emails. Lacks tests</li>
+                        <li><b>JMX</b> is used by a <a href="http://james.apache.org/server/manage-cli.html">command line</a> for administrating Apache James</li>
+                        <li>And <a href="http://james.apache.org/server/feature-protocols.html">more</a>...</li>
+                    </ul>
+
+                    <header class="major">
+                        <h2><b>Generation of a custom keystore</b></h2>
+                    </header>
+
+                    <p>In order to maintain a good level of privacy and security, James is relying on TLS cryptography
+                    for securing exchanges. We thus need to generate our own personal keystore. Note that this guide do not
+                    cover generating a keystore from SSL certificates. A security exception might be configured on the Mail
+                    User Agent.</p>
+
+                    <p>In order to create a keystore, please run: <code>keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore</code>.
+                    James is configured with a default password <code>james72laBalle</code> (used to read the keystore). However, we will be overriding the
+                    configuration of the docker image, so you can be defining your own.</p>
+
+                    <header class="major">
+                        <h2><b>Starting james</b></h2>
+                    </header>
+
+                    <p>We want to override the configuration of the docker image with a volume.</p>
+
+                    <p>First let's retrieve a valid configuration:</p>
+
+                    <pre><code>$ git clone https://github.com/apache/james-project
+$ cp -rf james-project/dockerfiles/run/guice/jpa/destination/conf conf
+$ mv keystore conf/keystore</code></pre>
+
+                    <p>Modify all protocol configuration files to match your keystore password (imapserver.xml, lmtpserver.xml, managesieveserver.xml, pop3server.xml, smtpserver.xml).</p>
+
+                    <p>We will create a local folder for holding data out of the container:</p>
+
+                    <pre><code>mkdir var</code></pre>
+
+
+                    <p>Then, let's start James:</p>
+
+                    <pre><code>docker run \
+    --name james_run \
+    --port "25:25" --port "465:465" --port "587:587" \
+    --port "143:143"  --port "993:993" \
+    --volume "$PWD/conf:/root/conf/" \
+    --volume "$PWD/var:/root/var/" \
+linagora/james-jpa-guice:latest</code></pre>
+
+
+                    <header class="major">
+                        <h2><b>Administrating James</b></h2>
+                    </header>
+
+                    <p>We now have a running James server. We just need to tell him which users and domains it should be handling mails for.
+                    We will, in order to do this, use the command line:</p>
+
+                    <pre><code>docker exec james_run java -jar /root/james-cli.jar AddDomain domain.tld
+docker exec james_run java -jar /root/james-cli.jar AddUser user@domain.tld secretPassword</code></pre>
+
+                    <p>The command line client can be used for several other purposes like managing quota, setting addresses redirections, etc..</p>
+
+                    <header class="major">
+                        <h2><b>Additional features</b></h2>
+                    </header>
+
+                    <p>James is a large project with many features. You can go further and complete your installation with
+                    an <a href="http://james.apache.org/server/config-antispam.html">AntiSpam system</a>, or set up
+                        <a href="http://james.apache.org/server/metrics.html">metric display</a>, collect logs in ElasticSearch for a display in Kibana,
+                    and much more!</p>
+
+                    <p>Also, James offers support for <a href="https://medium.com/linagora-engineering/installing-james-3-0-with-spf-verification-421b26b92f11">SPF</a>
+                        and DKIM standard, which increase the trust external people can get in your mail system.</p>
+
+                </div>
+                <footer class="major">
+                    <ul class="actions align-center">
+                        <li><a href="index.html" class="button">go back to other how-tos</a></li>
+                    </ul>
+                </footer>
+            </div>
+        </section>
+
+    </div>
+    <footer id="footer" class="major">
+        <section>
+            <h2>James</h2>
+            <ul class="no-padding">
+                <li class="no-padding"><a href="https://james.apache.org/#intro" class="active">About</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#first">Get Started</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#posts">Last Posts</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#second">Community</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#third">Contribute</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/"><span class="fa fa-external-link"></span> Documentation</a></li>
+            </ul>
+        </section>
+        <section>
+            <h2>Connect</h2>
+            <ul class="icons">
+                <li><a href="https://james.apache.org/mail.html" class="icon fa-envelope-o alt"><span class="label">Mailing-list</span></a></li>
+                <li><a href="https://gitter.im/apache/james-project" class="icon fa-wechat alt"><span class="label">Gitter</span></a></li>
+                <li><a href="https://github.com/apache/james-project" class="icon fa-github alt"><span class="label">GitHub</span></a></li>
+                <li><a href="https://twitter.com/ApacheJames" class="icon fa-twitter alt"><span class="label">Twitter</span></a></li>
+                <li><a href="https://james.apache.org/support.html" class="icon fa-briefcase alt"><span class="label">Support</span></a></li>
+                <li><a href="http://www.apache.org/events/current-event" class="icon fa-calendar alt"><span class="label">Apache Foundation events</span></a></li>
+            </ul>
+        </section>
+        <section class="legal-section">
+            <h2>Copyright</h2>
+            Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
+            <a href="https://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation. All Rights Reserved.</a><br/>
+            <a href="https://www.apache.org/licenses/">License</a><br/>
+            <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
+            <a href="https://www.apache.org/foundation/thanks.html">Thanks</a><br/>
+            Design: <a href="https://html5up.net">HTML5 UP</a><br/>
+            Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
+        </section>
+    </footer>
+</div>
+
+<!-- Scripts -->
+<script src="assets/js/jquery.min.js"></script>
+<script src="assets/js/jquery.scrollex.min.js"></script>
+<script src="assets/js/jquery.scrolly.min.js"></script>
+<script src="assets/js/skel.min.js"></script>
+<script src="assets/js/util.js"></script>
+<script src="assets/js/lightbox.js"></script>
+<script src="assets/js/github-fetch.js"></script>
+<script src="assets/js/lity.min.js"></script>
+<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
+<script src="assets/js/main.js"></script>
+
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/howTo/index.html
----------------------------------------------------------------------
diff --git a/content/howTo/index.html b/content/howTo/index.html
new file mode 100644
index 0000000..3c3ac62
--- /dev/null
+++ b/content/howTo/index.html
@@ -0,0 +1,166 @@
+<!--
+    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>
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Apache James</title>
+
+        <link rel="stylesheet" type="text/css" href="/assets/css/main.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/font-awesome.min.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie8.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie9.css">
+        <link rel="shortcut icon" href="/images/james-logo.png">
+    </head>
+<body>
+    <!--
+    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.
+-->
+<link href="assets/css/lightbox.css" rel="stylesheet">
+<link href="assets/css/lity.min.css" rel="stylesheet" />
+<div id="wrapper">
+  <div class="apache_ref">
+    <a href="https://www.apache.org" alt="apache foundation link"><img src="https://www.apache.org/foundation/press/kit/asf_logo.svg" title="apache foundation logo"/></a>
+  </div>
+  <div class="apache_ref_mobile">
+    <a href="https://www.apache.org" alt="apache foundation link">The Apache Software Foundation</a>
+  </div>
+  <div class="apache_ref_left">
+    <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+  </div>
+  <div class="apache_ref_left_mobile">
+    <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+  </div>
+
+  <!-- Header -->
+    <header id="header" class="alt">
+      <div class="logo"><a href="/index.html" alt="Apache James"><img src="/images/james.svg" alt="james logo"/></a></div>
+      <h1 class="hidden">James Enterprise Mail Server</h1>
+      <h2>Emails at the heart of your business logic</h2>
+    </header>
+
+  <!-- Main -->
+    <div id="main">
+
+      <!-- Introduction -->
+        <section id="intro" class="main special">
+          <div class="">
+            <div class="content">
+              <header class="major">
+                <h2>James how to's...</h2>
+              </header>
+              <p class="align-left">James can be used for a wide variety of cases here is a little list of what you can use it for.<br/>
+                This section explains in detail how to achieve these cool features in a straightforward way...</p>
+
+              <a href="mail-processing.html"
+                 data-lightbox="james-schema"
+                 data-title="Customized mail processing"
+                 alt="Customized mail processing"
+                 class="james-schema" >
+                <span class="fa fa-sitemap"></span>Customized mail processing<span class="fa fa-long-arrow-right"></span>
+              </a>
+              <a href="imap-server.html"
+                 data-lightbox="james-schema"
+                 data-title="Setting up an IMAP server"
+                 alt="Setting up an IMAP server"
+                 class="james-schema" >
+                <span class="fa fa-sitemap"></span>Setting up an IMAP server<span class="fa fa-long-arrow-right"></span>
+              </a>
+              <a href="spf.html"
+                 data-lightbox="james-schema"
+                 data-title="Configuring SPF"
+                 alt="Configuring SPF"
+                 class="james-schema" >
+                <span class="fa fa-sitemap"></span>Configuring SPF<span class="fa fa-long-arrow-right"></span>
+              </a>
+
+              <br/>
+              <br/>
+
+            </div>
+          </div>
+        </section>
+
+    </div>
+    <footer id="footer" class="major">
+      <section>
+        <h2>James</h2>
+        <ul class="no-padding">
+          <li class="no-padding"><a href="https://james.apache.org/#intro" class="active">About</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#first">Get Started</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#posts">Last Posts</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#second">Community</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#third">Contribute</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/"><span class="fa fa-external-link"></span> Documentation</a></li>
+        </ul>
+      </section>
+      <section>
+        <h2>Connect</h2>
+        <ul class="icons">
+          <li><a href="https://james.apache.org/mail.html" class="icon fa-envelope-o alt"><span class="label">Mailing-list</span></a></li>
+          <li><a href="https://gitter.im/apache/james-project" class="icon fa-wechat alt"><span class="label">Gitter</span></a></li>
+          <li><a href="https://github.com/apache/james-project" class="icon fa-github alt"><span class="label">GitHub</span></a></li>
+          <li><a href="https://twitter.com/ApacheJames" class="icon fa-twitter alt"><span class="label">Twitter</span></a></li>
+          <li><a href="https://james.apache.org/support.html" class="icon fa-briefcase alt"><span class="label">Support</span></a></li>
+          <li><a href="http://www.apache.org/events/current-event" class="icon fa-calendar alt"><span class="label">Apache Foundation events</span></a></li>
+          </ul>
+      </section>
+      <section class="legal-section">
+        <h2>Copyright</h2>
+        Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
+        <a href="https://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation. All Rights Reserved.</a><br/>
+        <a href="https://www.apache.org/licenses/">License</a><br/>
+        <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
+        <a href="https://www.apache.org/foundation/thanks.html">Thanks</a><br/>
+        Design: <a href="https://html5up.net">HTML5 UP</a><br/>
+        Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
+      </section>
+  </footer>
+</div>
+
+<!-- Scripts -->
+<script src="assets/js/jquery.min.js"></script>
+<script src="assets/js/jquery.scrollex.min.js"></script>
+<script src="assets/js/jquery.scrolly.min.js"></script>
+<script src="assets/js/skel.min.js"></script>
+<script src="assets/js/util.js"></script>
+<script src="assets/js/lightbox.js"></script>
+<script src="assets/js/github-fetch.js"></script>
+<script src="assets/js/lity.min.js"></script>
+<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
+<script src="assets/js/main.js"></script>
+
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/howTo/mail-processing.html
----------------------------------------------------------------------
diff --git a/content/howTo/mail-processing.html b/content/howTo/mail-processing.html
new file mode 100644
index 0000000..1d633a5
--- /dev/null
+++ b/content/howTo/mail-processing.html
@@ -0,0 +1,318 @@
+<!--
+    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>
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Apache James</title>
+
+        <link rel="stylesheet" type="text/css" href="/assets/css/main.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/font-awesome.min.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie8.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie9.css">
+        <link rel="shortcut icon" href="/images/james-logo.png">
+    </head>
+<body>
+    <!--
+    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.
+-->
+<link href="assets/css/lightbox.css" rel="stylesheet">
+<link href="assets/css/lity.min.css" rel="stylesheet" />
+<div id="wrapper">
+  <div class="apache_ref">
+    <a href="https://www.apache.org" alt="apache foundation link"><img src="https://www.apache.org/foundation/press/kit/asf_logo.svg" title="apache foundation logo"/></a>
+  </div>
+  <div class="apache_ref_mobile">
+    <a href="https://www.apache.org" alt="apache foundation link">The Apache Software Foundation</a>
+  </div>
+  <div class="apache_ref_left">
+    <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+  </div>
+  <div class="apache_ref_left_mobile">
+    <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+  </div>
+
+  <!-- Header -->
+    <header id="header" class="alt">
+      <div class="logo"><a href="/index.html" alt="Apache James"><img src="/images/james.svg" alt="james logo"/></a></div>
+      <h1 class="hidden">James Enterprise Mail Server</h1>
+      <h2>Emails at the heart of your business logic</h2>
+    </header>
+
+  <!-- Main -->
+    <div id="main">
+
+      <!-- Introduction -->
+        <section id="intro" class="main special">
+          <div class="">
+            <div class="content align-left">
+              <header class="major">
+                <h1>How to customize mail processing...</h1>
+              </header>
+                <header class="major">
+                    <h2><b>Mail processing component overview</b></h2>
+                </header>
+              <p class="align-left">At the heart of James lies the Mailet container, which allows mail processing. This is
+              splitted into smaller units, with specific responsibilities:
+
+              </p>
+
+              <ul class="no-padding">
+                <li><b>Mailets:</b> Are operations performed with the mail: modifying it, performing a side-effect, etc...</li>
+                <li><b>Matchers:</b> Are per-recipient conditions for mailet executions</li>
+                <li><b>Processors:</b> Are matcher/mailet pair execution threads</li>
+              </ul>
+
+              <p> Read <a href="/server/feature-mailetcontainer.html">this</a> for more explanations of mailet container concepts.</p>
+
+              <p>Once we define the mailet container content through the <a href="/server/config-mailetcontainer.html">mailetcontailer.xml</a> file.
+              Hence, we can arrange James standard components listed <a href="/server/dev-provided-mailets.html">here</a> to achieve basic logic. But what if our goals are more
+              complex? What if we need our own processing components?</p>
+
+              <p>This page will propose a 'hands on practice' how-to using James 3.0.1. We will implement a custom mailet and a custom matcher,
+              then deploy it in a James server.</p>
+
+              <p>We need to choose our use case. We will, when a mail is delayed over one day, write a mail to the original sender
+              to inform him about the delay, say that we are sorry, and send him a promotion code...<pre></pre></p>
+
+
+              <header class="major">
+                <h2><b>Writing custom mailets and matchers</b></h2>
+              </header>
+
+              <p>None of the matchers and mailets available in James allows us to implement what we want. We will have to
+              write our own mailet and matcher in a separated maven project depending on James Mailet API.</p>
+
+              <p>We will write a <b>IsDelayedForMoreThan</b> matcher with a configurable delay. If the Sent Date of incoming emails is older than specified delay, then the emails
+              should be matched (return all mail recipients). Otherwise, we just return an empty list of recipients.</p>
+
+              <p>To ease our Job, we can rely on the <b>org.apache.james.apache-mailet-base</b> maven project, which provides us a <b>GenericMatcher</b> that we can extend.</p>
+
+              <p>Here is the dependency:</p>
+
+              <pre><code>&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.james&lt;/groupId&gt;
+    &lt;artifactId&gt;apache-mailet-base&lt;/artifactId&gt;
+&lt;/dependency&gt;</code></pre>
+
+              <p>The main method of a matcher is the <b>match</b> method:</p>
+
+              <pre><code>Collection&lt;MailAddress&gt; match(Mail mail) throws MessagingException;</code></pre>
+
+              <p>For us, it becomes, with <b>maxDelay</b> being previously configured:</p>
+
+              <pre><code>    private final Clock clock;
+    private Duration maxDelay;
+
+    @Override
+    public Collection&lt;MailAddress&gt; match(Mail mail) throws MessagingException {
+        Date sentDate = mail.getMessage().getSentDate();
+
+        if (clock.instant().isAfter(sentDate.toInstant().plusMillis(maxDelay.toMillis()))) {
+            return ImmutableList.copyOf(mail.getRecipients());
+        }
+        return ImmutableList.of();
+    }</code></pre>
+
+                <p><b>GenericMatcher</b> exposes us the condition that had been configured. We will use it to compute <b>maxDelay</b>.
+              We can do it in the <b>init()</b> method exposed by the generic matcher:</p>
+
+              <pre><code>
+    public static final TimeConverter.Unit DEFAULT_UNIT = TimeConverter.Unit.HOURS;
+
+    @Override
+    public void init() {
+        String condition = getCondition();
+        maxDelay = Duration.ofMillis(TimeConverter.getMilliSeconds(condition, DEFAULT_UNIT));
+    }</code></pre>
+
+              <p>Now, let's take a look at the <b>SendPromotionCode</b> mailet. Of course, we want to write a generic mailet
+                 with a configurable reason (why are we sending the promotion code). To keep things simple, only one promotion
+                 code will be used, and will be written in the configuration. We can here also simply extend the
+                  <b>GenericMailet</b> helper class.</p>
+
+              <p>The main method of a mailet is the <b>service</b> method:</p>
+
+              <pre><code>void service(Mail mail) throws MessagingException</code></pre>
+
+              <p>For us, it becomes, with <b>reason</b> and <b>promotionCode</b> being previously configured:</p>
+
+                <pre><code>    public static final boolean REPLY_TO_SENDER_ONLY = false;
+
+    private String reason;
+    private String promotionCode;
+
+    @Override
+    public void service(Mail mail) throws MessagingException {
+        MimeMessage response = (MimeMessage) mail.getMessage()
+            .reply(REPLY_TO_SENDER_ONLY);
+
+        response.setText(reason + "\n\n" +
+            "Here is the following promotion code that you can use on your next order: " + promotionCode);
+
+        MailAddress sender = getMailetContext().getPostmaster();
+        ImmutableList&lt;MailAddress&gt; recipients = ImmutableList.of(mail.getSender());
+
+        getMailetContext()
+            .sendMail(sender, recipients, response);
+    }</code></pre>
+
+              <p>Note that we can interact with the mail server through the mailet context for sending mails, knowing postmaster, etc...</p>
+
+                <p><b>GenericMailet</b> exposes us the 'init parameters' that had been configured for this mailet. We will
+                    use it to retireve <b>reason</b> and <b>promotionCode</b>.
+                    We can do it in the <b>init()</b> method exposed by the generic mailet:</p>
+
+                <pre><code>    @Override
+    public void init() throws MessagingException {
+        reason = getInitParameter("reason");
+        promotionCode = getInitParameter("promotionCode");
+
+        if (Strings.isNullOrEmpty(reason)) {
+            throw new MessagingException("'reason' is compulsory");
+        }
+        if (Strings.isNullOrEmpty(promotionCode)) {
+            throw new MessagingException("'promotionCode' is compulsory");
+        }
+    }</code></pre>
+
+            <p>You can retrieve the sources of this mini-project on <a href="https://github.com/apache/james-project/examples/custom-mailets">GitHub</a></p>
+
+            <header class="major">
+               <h2><b>Loading custom mailets with James</b></h2>
+            </header>
+
+            <p>Now is the time we will run James with our awesome matcher and mailet configured.</p>
+
+            <p>First, we will need to compile our project with <code>mvn clean install</code>. A jar will be outputted in the target directory.</p>
+
+            <p>Then, we will write the <code>mailetcontainer.xml</code> file expressing the logic we want:</p>
+
+            <pre><code>
+&lt;mailetcontainer enableJmx="true">
+
+    &lt;context&gt;
+        &lt;postmaster&gt;postmaster@james.minet.net&lt;/postmaster&gt;
+    &lt;/context&gt;
+
+    &lt;spooler&gt;
+        &lt;threads&gt;20&lt;/threads&gt;
+    &lt;/spooler&gt;
+
+    &lt;processors&gt;
+        &lt;processor state="root" enableJmx="true"&gt;
+            &lt;mailet match="All" class="PostmasterAlias"/&gt;
+            &lt;mailet match="org.apache.james.examples.custom.mailets.IsDelayedForMoreThan=1 day"
+                    class="org.apache.james.examples.custom.mailets.SendPromotionCode"&gt;
+                &lt;reason&gt;Your email had been delayed for a long time. Because we are sorry about it, please find the
+                following promotion code.&lt;/reason&gt;
+                &lt;promotionCode&gt;1542-2563-5469&lt;/promotionCode&gt;
+            &lt;/mailet&gt;
+            &lt;!-- Rest of the configuration --&gt;
+        &lt;/processor&gt;
+
+        &lt;!-- Other processors --&gt;
+    &lt;/processors&gt;
+&lt;/mailetcontainer&gt;</code></pre>
+
+            <p>Finally, we will start a James server using that. We will rely on docker default image for simplicity.
+                We need to be using the <b>mailetcontainer.xml</b> configuration that we had been writing and position
+                the jar in the <b>extensions-jars</b> folder (specific to guice). This can be achieved with the following command:</p>
+
+            <pre><code>docker run -p "25:25" -p "143:143" \
+                   -v "$PWD/src/main/resources/mailetcontainer.xml:/root/conf/mailetcontainer.xml" \
+                   -v "$PWD/target/custom-mailets-3.1.0-SNAPSHOT.jar:/root/extensions-jars/custom-mailets.jar" \
+            linagora/james-jpa-sample:latest</code></pre>
+
+            </div>
+              <footer class="major">
+                  <ul class="actions align-center">
+                      <li><a href="index.html" class="button">go back to other how-tos</a></li>
+                  </ul>
+              </footer>
+          </div>
+        </section>
+
+    </div>
+    <footer id="footer" class="major">
+      <section>
+        <h2>James</h2>
+        <ul class="no-padding">
+          <li class="no-padding"><a href="https://james.apache.org/#intro" class="active">About</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#first">Get Started</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#posts">Last Posts</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#second">Community</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/#third">Contribute</a></li>
+          <li class="no-padding"><a href="https://james.apache.org/"><span class="fa fa-external-link"></span> Documentation</a></li>
+        </ul>
+      </section>
+      <section>
+        <h2>Connect</h2>
+        <ul class="icons">
+          <li><a href="https://james.apache.org/mail.html" class="icon fa-envelope-o alt"><span class="label">Mailing-list</span></a></li>
+          <li><a href="https://gitter.im/apache/james-project" class="icon fa-wechat alt"><span class="label">Gitter</span></a></li>
+          <li><a href="https://github.com/apache/james-project" class="icon fa-github alt"><span class="label">GitHub</span></a></li>
+          <li><a href="https://twitter.com/ApacheJames" class="icon fa-twitter alt"><span class="label">Twitter</span></a></li>
+          <li><a href="https://james.apache.org/support.html" class="icon fa-briefcase alt"><span class="label">Support</span></a></li>
+          <li><a href="http://www.apache.org/events/current-event" class="icon fa-calendar alt"><span class="label">Apache Foundation events</span></a></li>
+          </ul>
+      </section>
+      <section class="legal-section">
+        <h2>Copyright</h2>
+        Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
+        <a href="https://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation. All Rights Reserved.</a><br/>
+        <a href="https://www.apache.org/licenses/">License</a><br/>
+        <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
+        <a href="https://www.apache.org/foundation/thanks.html">Thanks</a><br/>
+        Design: <a href="https://html5up.net">HTML5 UP</a><br/>
+        Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
+      </section>
+  </footer>
+</div>
+
+<!-- Scripts -->
+<script src="assets/js/jquery.min.js"></script>
+<script src="assets/js/jquery.scrollex.min.js"></script>
+<script src="assets/js/jquery.scrolly.min.js"></script>
+<script src="assets/js/skel.min.js"></script>
+<script src="assets/js/util.js"></script>
+<script src="assets/js/lightbox.js"></script>
+<script src="assets/js/github-fetch.js"></script>
+<script src="assets/js/lity.min.js"></script>
+<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
+<script src="assets/js/main.js"></script>
+
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/howTo/spf.html
----------------------------------------------------------------------
diff --git a/content/howTo/spf.html b/content/howTo/spf.html
new file mode 100644
index 0000000..1e2c6a3
--- /dev/null
+++ b/content/howTo/spf.html
@@ -0,0 +1,264 @@
+<!--
+    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>
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Apache James</title>
+
+        <link rel="stylesheet" type="text/css" href="/assets/css/main.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/font-awesome.min.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie8.css">
+        <link rel="stylesheet" type="text/css" href="/assets/css/ie9.css">
+        <link rel="shortcut icon" href="/images/james-logo.png">
+    </head>
+<body>
+    <!--
+    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.
+-->
+<link href="assets/css/lightbox.css" rel="stylesheet">
+<link href="assets/css/lity.min.css" rel="stylesheet" />
+<div id="wrapper">
+    <div class="apache_ref">
+        <a href="https://www.apache.org" alt="apache foundation link"><img src="https://www.apache.org/foundation/press/kit/asf_logo.svg" title="apache foundation logo"/></a>
+    </div>
+    <div class="apache_ref_mobile">
+        <a href="https://www.apache.org" alt="apache foundation link">The Apache Software Foundation</a>
+    </div>
+    <div class="apache_ref_left">
+        <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+    </div>
+    <div class="apache_ref_left_mobile">
+        <a href="https://www.apache.org/events/current-event.html" alt="apache foundation event"><img src="https://www.apache.org/events/current-event-234x60.png" title="apache foundation event logo"/></a>
+    </div>
+
+    <!-- Header -->
+    <header id="header" class="alt">
+        <div class="logo"><a href="/index.html" alt="Apache James"><img src="/images/james.svg" alt="james logo"/></a></div>
+        <h1 class="hidden">James Enterprise Mail Server</h1>
+        <h2>Emails at the heart of your business logic</h2>
+    </header>
+
+    <!-- Main -->
+    <div id="main">
+
+        <!-- Introduction -->
+        <section id="intro" class="main special">
+            <div class="">
+                <div class="content align-left">
+                    <header class="major">
+                        <h1><b>Setting up SPF</b></h1>
+                    </header>
+
+                    <p>
+                        You just finished installing a <a href="imap-server.html">James IMAP server</a> and wonder how to
+                        gain trust for it?
+                    </p>
+
+                    <p>
+                        The Sender Policy Framework (SPF) is an open standard specifying a technical method to prevent
+                        sender address forgery, might help you to do this.
+                    </p>
+
+                    <p>
+                        More precisely, SPF protects the envelope sender address, which is used for the delivery of messages.
+                        It allows the owner of a domain to specify their mail sending policy, e.g. which mail servers they
+                        use to send emails from their domain.
+                    </p>
+
+                    <p>
+                        To correctly configure SPF for your domain, you need to answer the following questions:
+                    </p>
+
+                    <ul>
+                        <li><b>From what server or servers will email from my domain originate?</b> In our case, we only
+                            want our James Server to be able to send emails from our domain.</li>
+                        <li><b>How do you want illegitimate email to be handled?</b> <code>-all</code> is an SPF fail and
+                            usually means dropping such emails, whereas <code>~all</code> is an SPF softfail and traditionally
+                            means accepting but marking them.</li>
+                    </ul>
+
+                    <p>
+                        Therefore, we add the following DNS records to our DNS zone file:
+                    </p>
+
+                    <pre><code>@ IN TXT “v=spf1 +a:james.test-domain.com -all”
+@ IN SPF “v=spf1 +a:james.test-domain.com -all”</code></pre>
+
+                    <p>That way other mail servers knows only <i>james.test-domain.com</i> can send mails for <i>test-domain.com</i>.</p>
+
+
+                    <header class="major">
+                        <h1><b>Verifying SPF for incoming emails</b></h1>
+                    </header>
+
+                    <p>
+                        Now we will see how to verify SPF records of incoming emails. For this we can customize mail processing,
+                        and specify actions upon SPF record validity. For introducing these components, James relies on the
+                        <a href="https://james.apache.org/jspf/">JSPF</a>library.
+                    </p>
+
+                    <p>We just need to edit the <code>mailetcontainer.xml</code> configuration file as follow:</p>
+
+                    <p>We are going to create a new processor called <b>SPFProcessor</b>. It will handle emails after
+                        the <b>root</b> processor but before the <b>transport</b> processor. Moreover, we do not need to
+                        perform a SPF check or take a decision if the sender is authenticated or is a local user, because
+                        we already trust him.
+
+                        In all other cases, we add a SPF header using the <b>SPF</b> mailet. Then we need to take a decision
+                        about incoming emails. We use the <b>HasMailAttributeWithValue</b> matcher which has seven possible
+                        values to handle in the case of SPF: <b>permerror</b>, <b>temperror</b>, <b>none</b>, <b>pass</b>,
+                        <b>neutral</b>, <b>fail</b> and <b>softfail</b>. What action you choose for each of these values
+                        depends on what you want to do. In our case, we redirect SPF errors and fails to the <b>error</b>
+                        processor, whereas all other cases lead directly to the <b>transport</b> processor for further
+                        normal processing. We are rather tolerant since we authorize <b>softfails</b>.</p>
+
+                    <p>For example:</p>
+
+                    <pre><code>[...]
+
+&lt;processors>
+  &lt;processor state="root" enableJmx="true">
+    &lt;mailet match="All" class="PostmasterAlias"/>
+    &lt;mailet match="RelayLimit=30" class="Null"/>
+    &lt;mailet match="All" class="ToProcessor"&gt;
+      &lt;processor&gt;SPFProcessor&lt;/processor>
+    &lt;/mailet&gt;
+  &lt;/processor>
+
+  &lt;processor state="error" enableJmx="true">
+    [...]
+  &lt;/processor>
+
+  &lt;processor state="SPFProcessor">
+    &lt;mailet match="SenderIsLocal" class="ToProcessor"&gt;
+      &lt;processor&gt;transport&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="SMTPAuthSuccessful" class="ToProcessor"&gt;
+      &lt;processor&gt;transport&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="All" class="SPF"&gt;
+      &lt;addHeader&gt;true&lt;/addHeader&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="HasMailAttributeWithValue=org.apache.james.transport.mailets.spf.result, permerror" class="ToProcessor"&gt;
+      &lt;processor&gt;error&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="HasMailAttributeWithValue=org.apache.james.transport.mailets.spf.result, temperror" class="ToProcessor"&gt;
+      &lt;processor&gt;error&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="HasMailAttributeWithValue=org.apache.james.transport.mailets.spf.result, none" class="ToProcessor"&gt;
+      &lt;processor&gt;transport&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="HasMailAttributeWithValue=org.apache.james.transport.mailets.spf.result, pass" class="ToProcessor"&gt;
+      &lt;processor&gt;transport&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="HasMailAttributeWithValue=org.apache.james.transport.mailets.spf.result, neutral" class="ToProcessor"&gt;
+      &lt;processor&gt;transport&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="HasMailAttributeWithValue=org.apache.james.transport.mailets.spf.result, fail" class="ToProcessor"&gt;
+      &lt;processor&gt;error&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="HasMailAttributeWithValue=org.apache.james.transport.mailets.spf.result, softfail" class="ToProcessor"&gt;
+      &lt;processor&gt;transport&lt;/processor&gt;
+    &lt;/mailet&gt;
+    &lt;mailet match="All" class="LogMessage"&gt;
+      &lt;headers&gt;true&lt;/headers&gt;
+      &lt;body&gt;false&lt;/body&gt;
+      &lt;comment&gt;Unknown SPF result&lt;/comment&gt;
+    &lt;/mailet&gt;
+  &lt;/processor&gt;
+
+[...]</code></pre>
+
+                </div>
+                <footer class="major">
+                    <ul class="actions align-center">
+                        <li><a href="index.html" class="button">go back to other how-tos</a></li>
+                    </ul>
+                </footer>
+            </div>
+        </section>
+
+    </div>
+    <footer id="footer" class="major">
+        <section>
+            <h2>James</h2>
+            <ul class="no-padding">
+                <li class="no-padding"><a href="https://james.apache.org/#intro" class="active">About</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#first">Get Started</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#posts">Last Posts</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#second">Community</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/#third">Contribute</a></li>
+                <li class="no-padding"><a href="https://james.apache.org/"><span class="fa fa-external-link"></span> Documentation</a></li>
+            </ul>
+        </section>
+        <section>
+            <h2>Connect</h2>
+            <ul class="icons">
+                <li><a href="https://james.apache.org/mail.html" class="icon fa-envelope-o alt"><span class="label">Mailing-list</span></a></li>
+                <li><a href="https://gitter.im/apache/james-project" class="icon fa-wechat alt"><span class="label">Gitter</span></a></li>
+                <li><a href="https://github.com/apache/james-project" class="icon fa-github alt"><span class="label">GitHub</span></a></li>
+                <li><a href="https://twitter.com/ApacheJames" class="icon fa-twitter alt"><span class="label">Twitter</span></a></li>
+                <li><a href="https://james.apache.org/support.html" class="icon fa-briefcase alt"><span class="label">Support</span></a></li>
+                <li><a href="http://www.apache.org/events/current-event" class="icon fa-calendar alt"><span class="label">Apache Foundation events</span></a></li>
+            </ul>
+        </section>
+        <section class="legal-section">
+            <h2>Copyright</h2>
+            Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
+            <a href="https://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation. All Rights Reserved.</a><br/>
+            <a href="https://www.apache.org/licenses/">License</a><br/>
+            <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
+            <a href="https://www.apache.org/foundation/thanks.html">Thanks</a><br/>
+            Design: <a href="https://html5up.net">HTML5 UP</a><br/>
+            Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
+        </section>
+    </footer>
+</div>
+
+<!-- Scripts -->
+<script src="assets/js/jquery.min.js"></script>
+<script src="assets/js/jquery.scrollex.min.js"></script>
+<script src="assets/js/jquery.scrolly.min.js"></script>
+<script src="assets/js/skel.min.js"></script>
+<script src="assets/js/util.js"></script>
+<script src="assets/js/lightbox.js"></script>
+<script src="assets/js/github-fetch.js"></script>
+<script src="assets/js/lity.min.js"></script>
+<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
+<script src="assets/js/main.js"></script>
+
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/images/guice-jpa-architecture-overview.png
----------------------------------------------------------------------
diff --git a/content/images/guice-jpa-architecture-overview.png b/content/images/guice-jpa-architecture-overview.png
new file mode 100644
index 0000000..d479ef0
Binary files /dev/null and b/content/images/guice-jpa-architecture-overview.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/e4e14366/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 53f57ed..2a9662d 100644
--- a/content/index.html
+++ b/content/index.html
@@ -114,6 +114,9 @@
               <a href="images/james-general-architecture.png" data-lightbox="james-schema" data-title="James General architecture" alt="James General architecture" class="james-schema" ><span class="fa fa-sitemap"></span>james general architecture<span class="fa fa-long-arrow-right"></span></a>
               <a href="images/james-smtp-relay.png" data-lightbox="james-schema" data-title="James SMTP relay" alt="James SMTP relay" class="james-schema"><span class="fa fa-sitemap"></span>using james as smtp relay<span class="fa fa-long-arrow-right"></span></a>
               <a href="images/james-imap-server.png" data-lightbox="james-schema" data-title="James IMAP server" alt="James IMAP server" class="james-schema"><span class="fa fa-sitemap"></span>using james as an imap server<span class="fa fa-long-arrow-right"></span></a><br/><br/>
+
+              <p>Available how-tos for James features are detailed <a href="howTo">here</a>.</p>
+
               <h2 class="big-h2"><span class="fa fa-wrench"></span> <span>James is a <b>living Open Source project</b> (all developments and implementations are based on open technical standards), any function which is not already available from <b>can be developed!</b></span></h2>
             </div>
           </div>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org