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 ie...@apache.org on 2012/05/14 10:45:06 UTC

svn commit: r1338063 [5/7] - in /james/site-cms/trunk: ./ content/ content/resources/ content/resources/css/ content/resources/images/ content/resources/images/conf/ content/resources/images/database/ content/resources/images/dns-mx/ content/resources/...

Added: james/site-cms/trunk/content/xdoc/feature-performance.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/feature-performance.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/feature-performance.xml (added)
+++ james/site-cms/trunk/content/xdoc/feature-performance.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+  <properties>
+    <title>Apache James Server 3 - Performance</title>
+  </properties>
+
+<body>
+
+  <section name="Performance">
+
+    <p>James can spool more than 100 mails per second (configured with Maildir mail storage).</p>
+    
+    <p>We ran following command (from postfix distribution) with only 10 dequeue threads.</p>
+
+    <source>time smtp-source -A -C1500 -l 100 -m 100000 -s 500 -d -c -f user@domain.net -t te localhost:25 100000</source>
+
+    <p>The result was:</p>
+    <ol> 
+      <li>The queuing of the 100.000 emails took 8 minutes.</li>
+      <li>The dequeueing of the 100.000 emails took 16 minutes.</li>
+    </ol>
+
+    <p>We thus have a throughput of more than <b>100 mails/second</b>.</p>
+
+    <p>These numbers are obtained with the out-of-the-box configuration (not optimized).
+       I you run for example (depends on JVM) with <code>-XX:+UseParallelGC -XX:+AggressiveOpts -XX:+UseFastAccessorMethods</code>,
+       you may have 10.000 mails enqueued in 38 seconds, which represents <b>263 mails per second</b>.</p>
+
+  </section>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/feature-performance.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/feature-persistence.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/feature-persistence.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/feature-persistence.xml (added)
+++ james/site-cms/trunk/content/xdoc/feature-persistence.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Persistence</title>
+ </properties>
+
+<body>
+
+  <section name="Mailbox and Mail Repository Store for Mail Persistence">
+  
+    <subsection name="Introduction">
+  
+      <p>The <b>Mailbox</b> persists users' Inbox, Sent Items, Trash... folders with their mails.</p>
+      
+      <p>The <b>Mail Repository Store</b> persists  spam, error,... mails, so nothing to do with users visible mails.</p>
+  
+      <p>In case of database access, both Mailbox and Mail Repository Store use database connection defined via database.properties.</p>
+      
+    </subsection>
+
+    <subsection name="Mailbox Persistence">
+  
+      <p>Apache James Server uses the <a href="http://james.apache.org/mailbox">Apache James Mailbox</a> storage system 
+         to store the users mailboxes.</p>
+  
+      <p>The mailbox library supports different persistence mecanisms: MailDir, Database (via JPA) and JCR.</p>
+  
+      <p>Mailbox persistence is configured in spring-beans.xml (by default JPA, 
+         you set the database connection properties in database.properties - can also be 
+         MailDir, JCR).</p>
+
+    </subsection>
+  
+    <subsection name="Mail Repository Store Persistence">
+  
+      <p>Available Mail Repository Store are defined in mailrepositorystore.xml. 
+         Each has an URL prefix (file, db, dbfile,...) that can be used in mailetcontainer.xml 
+         to define where to store spam,... mails (example: file://var/mail/error/).</p>
+
+      <p>More information about the mailstores configuration can be 
+        found <a href="config-mailrepositorystore.html">here</a>.</p>
+        
+      <p>Mail Repository Stores are distinguished by how they store data. There are five types of 
+        storage: File, Database, DBFile, MBox and JCR.</p>
+        
+    </subsection>
+      
+  </section>
+  
+  <section name="Domain Persistence">
+  
+    <p>Read more on how to configure <a href="config-domainlist.html">domain persistence</a>.</p>
+  
+  </section>
+
+  <section name="User Persistence">
+  
+    <p>Read more on how to configure <a href="config-users.html">users persistence</a>.</p>
+  
+  </section>
+
+</body>
+
+</document>
+

Propchange: james/site-cms/trunk/content/xdoc/feature-persistence.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/feature-protocols.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/feature-protocols.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/feature-protocols.xml (added)
+++ james/site-cms/trunk/content/xdoc/feature-protocols.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Feature - Servers</title>
+ </properties>
+
+<body>
+
+  <section name="Servers">
+  
+    <subsection name="Introduction">
+    
+      <p>Apache James is an open source project intended to produce a robust, flexible, and powerful 
+      enterprise class server that provides email and email-related services.  It is also designed to
+      be highly customizable, allowing administrators to configure Apache James to process email in a 
+      nearly endless variety of fashions.</p>
+      
+      <p>The standard Apache James distribution deploys inside the Spring dependency injection container.
+      In addition to providing a robust server architecture for James, the use of Spring allows Apache James administrators 
+      to deploy their own applications inside the container.  These applications can then be accessed during 
+      mail processing.</p>
+      
+      <p>The Apache James Server is implemented as a complete collection of servers and related components that, taken together,
+      provide an email solution.  These components are described below.</p>
+  
+    </subsection>
+    
+    <subsection name="SMTP Protocol">
+    
+      <p>SMTP (Simple Mail Transport Protocol) is the standard method of sending and delivering 
+      email on the internet. Apache James provides a full-function implementation of the SMTP specification,
+      with support for some optional features such as message size limits, SMTP auth, and encrypted 
+      client/server communication.</p>
+      
+      <p>More information on configuring the SMTP service can be found <a href="config-smtp-lmtp.html">here</a>.</p>
+    
+    </subsection>
+    
+    <subsection name="IMAP4 Protocol">
+    
+      <p>The IMAP4 protocol allows users to retrieve email messages.  It is the method
+      most commonly used by email clients to download and manage email messages.</p>
+      
+      <p>The Apache James version of the IMAP4 service is a simple and straightforward implementation that 
+      provides full compliance with the specification and maximum compatibility with common
+      IMAP4 clients.  In addition, Apache James can be configured to require SSL/TLS connections for
+      IMAP4 client connecting to the server.</p>
+      
+      <p>More information on configuring the IMAP4 service can be found <a href="config-imap4.html">here</a>.</p>
+    
+    </subsection>
+    
+    <subsection name="POP3 Protocol">
+    
+      <p>The POP3 protocol allows users to retrieve email messages.  It is the method
+      most commonly used by email clients to download and manage email messages.</p>
+      
+      <p>The Apache James version of the POP3 service is a simple and straightforward implementation that 
+      provides full compliance with the specification and maximum compatibility with common
+      POP3 clients.  In addition, Apache James can be configured to require SSL/TLS connections for
+      POP3 client connecting to the server.</p>
+      
+      <p>More information on configuring the POP3 service can be found <a href="config-pop3.html">here</a>.</p>
+    
+    </subsection>
+    
+    <subsection name="FetchMail">
+    
+      <p>FetchMail, unlike the other Apache James components, is not an implementation of an RFC.  Instead, it's a 
+      component that allows the administrator to configure Apache James to retrieve email from a number of POP3 
+      servers and deliver them to the local spool.  This is useful for consolidating mail delivered to a
+      number of accounts on different machines to a single account.</p>
+      
+      <p>More information on configuring FetchMail can be found <a href="config-fetchmail.html">here</a>.</p>
+
+    </subsection>
+    
+    <subsection name="JMX">
+    
+      <p>JMX (Java Management Extension) is used for the management.</p>
+  
+    </subsection>  
+
+  </section>
+  
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/feature-protocols.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/feature-queue-priority.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/feature-queue-priority.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/feature-queue-priority.xml (added)
+++ james/site-cms/trunk/content/xdoc/feature-queue-priority.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+  <properties>
+    <title>Apache James Server 3 - Queue Priority</title>
+  </properties>
+
+<body>
+
+  <section name="Priority in the Spooling Queues">
+  
+    <p>Priority is supported when James (de)queues the mails during the spooling process.</p>
+    
+    <p>For this just add a Mail attribute with name "MAIL-PRIORITY" to the mail you send.</p>
+
+    <p>This mail header should use one of the following value:</p>
+
+    <ol>
+      <li>0 for LOW-PRIORITY</li>
+      <li>5 for NORMAL-PRIORITY (default)</li> 
+      <li>9 for HIGH-PRIORITY</li>
+    </ol>
+    
+    <p>Default priority if no MAIL-PRIORITY attribute set is NORMAL-PRIORITY.</p>
+    
+  </section>
+  
+  <section name="Usage Scenario">
+  
+    <p>There are two scenarios to set priority in the queue.</p>
+    <ul>
+      <li>Write a <a href="dev-extend-smtp-hook.html">SMTP hook</a> which sets the header 
+         and add the hook to smtphandler chain.</li>
+      <li>You could also add the header in a mailet to let remotedelivery 
+          pick it up again on redelivery.</li>
+    </ul>
+  
+  </section>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/feature-queue-priority.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/feature-security.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/feature-security.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/feature-security.xml (added)
+++ james/site-cms/trunk/content/xdoc/feature-security.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Security</title>
+ </properties>
+
+<body>
+
+  <section name="SMTP Security">
+
+    <p>Apache James Server is configured by default to avoid being an SMTP open-relay.</p>
+    
+    <p>SMTP Auth and "Verify Identity" options are enabled when you install James (<a href="config-smtp-lmtp.html">read more</a>).</p>
+
+  </section>
+  
+  <section name="Encryption Security">
+
+    <p>Apache James Server supports SSL/TLS (<a href="config-ssl-tls.html">read more</a>).</p>
+
+  </section>
+  
+  <section name="User Credential Security">
+
+    <p>Apache James Server supports different user storage (<a href="config-users.html">read more</a>) - LDAP support is partail (work in progress).</p>
+
+  </section>
+  
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/feature-security.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/feature-smtp-hooks.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/feature-smtp-hooks.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/feature-smtp-hooks.xml (added)
+++ james/site-cms/trunk/content/xdoc/feature-smtp-hooks.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+  <properties>
+     <title>Apache James Server 3 - James - Features - SMTP Hooks</title>
+  </properties>
+
+<body>
+
+  <section name="SMTP Hooks">
+  
+    <p>The James SMTP Server Component allows to easy write your own code which will get executed 
+       in the SMTP-Transaction. Thats a bit different then using a Mailet a.k.a Mailet-API.</p>
+      
+    <p>To customize your SMTP Server, you have a few interfaces which helps you to "hook-in" a 
+       specific SMTP Command. That means your class which implements the given interface(s) will get
+       called after the SMTP-Command was parsed and depending on your implementation it will handle it.</p>
+
+    <p>As your code will get executed before the mail was even accepted. This can help you in many ways,
+       most times its used for rejecting SPAM/Junk within the SMTP-Dialog. But it can be used for 
+       other things too.</p>
+      
+    <p>Its up to you and your use case.</p>
+
+    <p>But be aware as your code needs to get executed during the SMTP-Transaction it should not 
+       take to long to execute. As it will need to fit in before the timeout was hit which can be 
+       different on every mail server. But as a general rule as long as your code can get executed 
+       within 30 seconds it should be fine.</p>
+      
+  </section>
+ 
+  <section name="Provided SMTP Hooks">
+  
+    Read more on the <a href="dev-provided-smtp-hooks.html">provided SMTP Hooks</a>.
+  
+  </section>
+
+  <section name="Create your own SMTP Hooks">
+  
+    Read more on how to create your <a href="dev-extend-smtp-hook.html">own SMTP Hook</a>.
+  
+  </section>
+ 
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/feature-smtp-hooks.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/index.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/index.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/index.xml (added)
+++ james/site-cms/trunk/content/xdoc/index.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+  <properties>
+     <title>Apache James Server 3 - Index</title>
+  </properties>
+
+  <head>
+  
+    <script type="text/javascript" src="./js/index.js" />
+    
+  </head>
+
+<body>
+
+  <table><tr><td>
+
+    <div id="tabs" style="min-width:550px;">
+    
+      <ul>
+        <li><a href="#tabs-1">Apache James Server 3</a></li>
+        <li><a href="#tabs-2">Advantages</a></li>
+      </ul>
+
+     <div id="tabs-1">
+     
+        <div class="ui-widget">
+			<div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;"> 
+				<p>
+                  <span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span>
+				  <span style="font-weight:bold; color:white;">Hey! Apache James Server 3.0-beta4 is out - <a href="quick-start.html" style="color:white;">Click here to Quick Start Apache James Server!.</a>
+                  Some issues are identified in some use cases with clients such as Outlook Express,...
+                  You are kindly invited to report any issue on <a href="https://issues.apache.org/jira/browse/JAMES" style="color:white;">https://issues.apache.org/jira/browse/JAMES</a>
+                  or on our mailing list (<a href="http://james.apache.org/mail.html" style="color:white;">http://james.apache.org/mail.html</a>)</span>
+                </p>
+			</div>
+		</div>
+      
+	    <p>The Apache Java Mail Server Version 3.0
+	      is a 100% pure Java SMTP, IMAP4 and POP3 Mail 
+	      server designed to be a complete and portable enterprise mail engine solution.  
+	      Apache James Server is based on currently available open protocols.</p>
+	    
+	    <p>This documentation is intended to be an introduction to the concepts behind the Apache James Server usage, as well 
+	      as a guide to <a href="install.html">install</a>, <a href="config.html">configure</a> , 
+	      <a href="manage.html">manage</a>, <a href="monitor.html">monitor</a> 
+	      and <a href="dev.html">develop</a> Apache James Server.</p>
+	      
+        <p>Download Apache James Mail Server 3.0-beta4 and <a href="quick-start.html">quick-start</a> it!</p>
+        <p>
+          <span class="minibutton btn-download">
+            <a href="http://james.apache.org/download.cgi#Apache_James_Server">
+              <span><span class="icon"></span>Early Apache James Server 3.0-beta4</span>
+            </a>
+          </span>
+        </p>
+        <p>We also have snapshot builds for the braves (no guarantee!).</p>
+        <p>
+          <span class="minibutton btn-download">
+            <a href="http://people.apache.org/builds/james/nightly/">
+              <span><span class="icon"></span>Snapshot Apache James Server 3.0</span>
+            </a>
+          </span>
+        </p>
+	
+        <p>Apache James Server 3.0 represents the leading edge of development. This codestream has many more
+          features than the 2.3 code, but is not as well tested in production. Reasonable
+          configuration compatibility has been retained with 2.3.2.</p>
+          
+        <p>Apache James Server 3.0 requires Java 1.5 but Java 1.6 is recommended. A migration guide for 
+           users willing to upgrade from 2.3 to 3.0 is <a href="upgrade-2.3.html">available</a>.</p>
+           
+         <p>The NNTP News server and the Mailing List Manager present in Apache James Server 2.3 have been 
+            temporary removed from the 3.0 release line.</p>
+    
+     </div>
+     
+     <div id="tabs-2">
+     
+        <table>
+        
+         <tr><td width="50%">
+
+          <subsection name="Standard">
+          
+	        <p>100% pure Java Mail server designed to be a complete and portable enterprise 
+	           mail engine solution.</p>
+	           
+	        <p>Supports currently available IETF protocols, including SMTP, LMTP, POP3 and IMAP4.</p>
+	         
+	        <p>Apache James Server is able to store user and message data either in a file-system (Maildir), 
+	           any JPA-compatible database and even JCR, allowing fast, reliable, 
+	           even real-time replicated storage.</p>
+	         
+	        <p>Provides a powerful, flexible mail application engine through support for the Apache Mailet 
+	           API.  With its Mailet pipeline architecture, Apache James Server can be used not only to provide standard e-mail 
+	           services, but also to implement custom e-mail applications.</p>
+	           
+	      </subsection>
+		      
+         </td><td width="50%">
+
+          <subsection name="Configureable">
+          
+            <p>Configure the stores,... via the well-known Spring framework - <a href="config.html">read more</a>.</p>
+        
+            <p><img src="images/conf/config-example.png" /></p>
+        
+          </subsection>
+          
+         </td></tr>
+        
+         <tr><td width="50%">
+
+          <subsection name="Manageable">
+        
+            <p>Manage domains, users,... via well-known JMX tools - <a href="manage.html">read more</a>.</p>
+            
+            <p><img src="images/jmx-management/jmx-user-part.png" /></p>
+
+          </subsection>
+          
+         </td><td width="50%">
+
+  	      <subsection name="Extensible">
+	    
+	        <p>Apache James Server serves as a mail application platform.</p>
+	        
+	        <p>The Apache James Project hosts the Apache Mailet API, 
+	          and provides the Mailet container. These features makes it easy
+	          to design, write, and deploy custom applications for mail processing.</p>
+	          
+	        <p>This modularity and ease of customization is one of Apache James' 
+	           strengths, and can allow administrators to produce powerful
+               applications surprisingly easily. - <a href="dev-extend.html">read more</a></p>
+	 
+	      </subsection>
+
+         </td></tr>
+        
+        <tr><td width="50%">
+        
+ 	      <subsection name="Developer-Friendly">
+	    
+	        <p>Apache James Server 3.0 is now built on top of Spring 3.0 in replacement of trunk version of the <a href="http://avalon.apache.org/">Avalon</a> Application Framework.
+	           With Spring, We keep the good development practices introduced by Avalon such as 
+	           Component Oriented Programming and  Inversion of Control. The stable and robust 
+	           Spring container provides a strong foundation for the Apache James Server.</p>
+	    
+	        <p>The internal and exposed APIs for this 3.0-beta4 release are under current validation and are 
+	          expected to be subject to change - <a href="dev.html">read more</a>.</p>
+	         
+            <p><img src="images/uml/org.apache.james-package-small.png" width="400px" /></p>
+        
+  	      </subsection>
+  	      
+  	    </td><td width="50%">
+	
+          <subsection name="Performant">
+           
+            <p>A special focuss has been brought to the performance: Apache James Server can process more than
+               100 mails per second. Deployed in production environments and has proven itself 
+               to be a robust  and high performance mail solution. Tests indicate that 
+               version 3.0 is able to maintain a constant mail throughput rate of thousands of 
+	           messages/minute for continuous periods  - <a href="feature-performance.html">read more</a></p>
+
+            <p><img src="images/jmx-monitoring/jmx-process-root.png"/></p>	
+        
+          </subsection>
+         
+  	    </td></tr>
+  	      
+        <tr><td width="50%">
+        
+          <subsection name="Secured">
+        
+            <p>Apache James Server is a secured mail server by default - <a href="feature-security.html">read more</a>.</p>
+        
+          </subsection>
+
+  	    </td><td width="50%">
+	
+  	    </td></tr>
+  	      
+   	    </table>
+   	    
+   	 </div>
+   	 
+   </div>
+
+  </td></tr></table>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/index.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/install.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/install.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/install.xml (added)
+++ james/site-cms/trunk/content/xdoc/install.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,219 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Installation</title>
+ </properties>
+
+<body>
+
+<section name="Requirements">
+
+  <subsection name="Java Virtual Machine">
+  
+    <p>James requires a Java Runtime Environment. Java version 1.5 or higher is required to run the 
+       James application. The exact JREs available depend on the platform. In addition, the environment variable JAVA_HOME should be set to
+       the JRE home directory before running James.</p>
+    
+    <p>James 3.0 has been successfully tested on OpenJDK, Sun JDK and IBM JDK</p>
+  
+  </subsection>
+  
+  <subsection name="User Privileges">
+    
+    <p>On Linux/Unix platforms, root access will be required to run James (access to ports 
+       below 1024 is generally restricted to the root user).  As SMTP, POP3, and IMAP4 
+       need to open server sockets on such ports in standard configurations, 
+       James requires root access.</p>
+    
+    <p>On Windows platforms, you also need to run James as Administrator privilege.</p>
+  
+  </subsection>
+    
+  <subsection name="Libc6">
+    
+    <p>On Linux, to run the startup/shutdown script via the 'james' command, you also need <code>libc6</code> 
+        (on Ubuntu for example: <code>sudo apt-get install libc6-i386 libc6-dev-i386</code>).</p>
+        
+  </subsection>
+  
+  <subsection name="System Resources">
+    
+    <p>Obviously James also requires sufficient disk space, processor power, and network bandwidth.  But, 
+       other than what's been discussed here, it has no additional special requirements.</p>
+    
+    <p>James is configured to run with 512 MB RAM (-Xmx512M in the bat/sh) available, but may need more or 
+       less depending on the load. With the default configuraiton, JVM can use until 512M (It does not mean it will do).
+       It really depends on your traffic, and also which mailbox you will use (you can save much memory 
+       if you don't use the default embedded derby database but an external database of your choice).
+       Work is still done to minimize the needed memory.
+    </p>
+  
+  </subsection>
+  
+  </section>
+  
+  <section name="Install Step by Step">
+  
+  <subsection name="Step 1: Download James"> 
+  
+    <p>Obtain the full James binary (or source) distribution from 
+       the <a href="http://james.apache.org/download.cgi">James 
+       release mirrors</a>.</p>
+      
+    <p>If you have downloaded a binary distribution, you do not need to build James. 
+      Proceed directly to Step 2.</p>
+    
+    <p>If you have downloaded a source package, process first to 
+       the <a href="dev-build.html">build</a> and come back to Step 2.</p>
+  
+  </subsection>
+  
+  <subsection name="Step 2: Deploy James">
+  
+    <p>Unpack the archive into your James installation directory.</p>
+  
+  </subsection>
+  
+  <subsection name="Step 3: Configure James">
+  <!-- 
+      <div class="ui-widget">
+        <div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"> 
+          <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span> 
+          <strong>Preliminary step for JMX on Windows: </strong>
+          to let windows start with JMX username/password enabled, 
+          you need to modify the security settings for the JMX files (./conf/jmx.password and ./conf/jmx.access) 
+          like described here:
+          <a href="http://download.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html">
+          http://download.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html</a>
+        </p>
+        </div>
+      </div>
+  -->
+    <p>After unpacking the binary, the next step is to adjust the initial configuration.  
+       All configuration files are embedded in jars. We ship in the conf foler template configuration files.
+    </p>
+    
+    <p>You can override the default configuration : copy the conf folder any ...-template... you need and update according to your needs.</p>
+    
+    <p>Additional system files reside under the./conf/META-INF folder.</p>
+    
+    <p>The out of the box configuration makes certain assumptions and has some default 
+       values that are unlikely to be appropriate for real-world servers. 
+       There are a few issues that should be addressed immediately upon installation:</p>
+       <ul>
+        <li>Postmaster Address - Change according to your need - <a href="config-system.html">read more</a>.</li>
+        <li>Most UNIX systems require superuser privileges to open sockets below 1024,
+            which includes the IANA-standard SMTP (on port 25), POP3 (on port 110) and IMAP4 (on port 143).
+            These default ports can be changed in the conf file 
+            (read for <a href="config-pop3.html">pop3</a>, <a href="config-smtp.html">smtp</a> 
+            and <a href="config-imap4.html">imap4</a>. Obviously, you
+            would then need to reconfigure your clients. This may not be an option if
+            you want to receive mail from external mail servers.</li>
+      </ul>
+    
+    <p>In addition to adjusting these parameters, you may wish to consult the documentation for a discussion of
+       all other configurations.  A list of such configurations, as well as the steps necessary to configure them, can
+       be found <a href="config.html">here</a>.</p>
+    
+  </subsection>
+  
+  <subsection name="Step 4: Start James">
+  
+    <p>Go to the bin subdirectory of the installation directory and run <code>$ ./james start</code>.</p>
+      
+    <p>Running <code>$ ./james help</code> help will provide the list of commands you can invoke. </p>
+    
+    <p>Once started, you'll see in the log file (./logs/james-server.log) that 
+       James is running. This means that Spring has loaded James and is now waiting for a request.</p>
+  
+  </subsection>
+    
+  <subsection name="Step 5: Create Domains and Users">
+  
+    <p>Finally, after launch, it will be necessary to create domain and user accounts 
+       before the James server will be fully operational. Read instructions on creating 
+       <a href="manage-domains.html">domains</a> and <a href="manage-users.html">user accounts</a>.</p>
+    
+    <p>Since at the beginning James is empty, it will not have any domain (except the default one)nor local users
+       registered.</p>
+       
+    <p>To register a local domain and user, cd bin and type james-cli.sh.
+       Follow the given instructions</p>
+       
+    <p>Invoke "james-cli.sh adddomain &lt;mydomain.tls&gt; &lt;mydomain.tls&gt; is the domain name 
+      of the domain you wish to create.</p>
+      
+    <p>Invoke "james-cli.sh adduser &lt;user&gt; &lt;password&gt;" where &lt;user&gt; is the user name 
+      and &lt;password&gt; is the password of the account you wish to create.</p>
+      
+    <p>Please note that the user name MUST be a complete email address of the form &lt;user&gt;@&lt;domain&gt; 
+      (where &lt;domain&gt; is any of the values specified in the &lt;servernames&gt; block of XMLDomainList or
+      a domain defined via the <a href="manage-domains.html">domain management</a>).</p>
+      
+  </subsection>
+  
+  <subsection name="Step 6: Test James">
+
+    <p>Once you have some local users registered, try sending mail to one of them
+        with SMTP (port 25).</p>
+  
+<source>
+$ telnet 127.0.0.1 25
+Trying 127.0.0.1...
+Connected to localhost.
+Escape character is '^]'.
+220 172.16.1.131 SMTP Server (JAMES SMTP Server 3.0-beta4) ready Sat, 6 Nov 2010 17:31:33 +0100 (CET)
+ehlo test
+250-172.16.1.131 Hello test (aoscommunity.com [127.0.0.1])
+250-PIPELINING
+250-ENHANCEDSTATUSCODES
+250 8BITMIME
+mail from:&lt;YOUR_NAME@YOUR_DOMAIN&gt;
+250 2.1.0 Sender &lt;YOUR_NAME@YOUR_DOMAIN&gt; OK
+rcpt to:&lt;YOUR_NAME@YOUR_DOMAIN>
+250 2.1.5 Recipient &lt;YOUR_NAME@YOUR_DOMAIN&gt; OK
+data
+354 Ok Send data ending with &lt;CRLF&gt;.&lt;CRLF&gt;
+subject: test
+
+this is a test
+.
+250 2.6.0 Message received
+quit
+Connection closed by foreign host.
+</source>
+
+    <p>Try now to retrieve that mail using POP3 (port 110) or IMAP (port 143).</p>
+    
+    <p>Trace out James actions in ./logs/james-server.log.</p>
+    
+    <p>Actions that will be taken by James on incoming mail are configured in
+       the mailet pipe line (./conf/mailetcontainer.xml). Look at it if you want to
+       understand what's happening.</p>
+    
+  </subsection>
+
+</section>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/install.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/manage-domains.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/manage-domains.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/manage-domains.xml (added)
+++ james/site-cms/trunk/content/xdoc/manage-domains.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Manage Domains</title>
+ </properties>
+
+<body>
+
+  <section name="Manage Domains">
+  
+    <p>Domain accounts are shared across services.  A common Domain repository is shared across James 
+       services.  That is, once you've created a POP3 mail and set a password, that same 
+       is available for authenticated SMTP and NNTP.</p>
+    
+    <p>If you have JPADomainList (default setup), you can add, delete and list the domains.</p>
+    
+    <p>If you have XMLDomainList for example, you can only list the available domains. To add a domain,
+       you must add it in the domainlist.conf file.</p>
+
+  </section>
+
+  <section name="Manage Domains via Cli">
+  
+    <p>Invoke "james-cli.sh adddomain &lt;mydomain.tls&gt; &lt;mydomain.tls&gt; is the domain name 
+      of the domain you wish to create.</p>
+      
+    <p>That's it.  Your domains are now created and can be used by all James services.</p>
+    
+  </section>
+
+  <section name="Manage Domains via JMX">
+  
+    <p>Use and JMX client to access the DomainList management function.</p>
+  
+    <p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p>
+      
+    <p><code>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</code></p>
+      
+    <p>If you want a remote access, you can install a web application management tool such as jmanage. 
+       You will get screens such as the following one.</p>
+         
+    <p><img src="images/jmx-management/jmx-domainlist.png"/></p>
+
+  </section>
+  
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/manage-domains.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/manage-recipientrewrite.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/manage-recipientrewrite.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/manage-recipientrewrite.xml (added)
+++ james/site-cms/trunk/content/xdoc/manage-recipientrewrite.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,203 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Manage Recipient Rewrite Table</title>
+ </properties>
+
+<body>
+
+  <section name="Manage Recipient Rewrite">
+  
+    <p>To rewrite recipients, you need to create some "mappings".</p>
+
+    <p>You will rewrite any recipient to an existing or a non-existing server account.</p>
+    
+    <p>So read "mapping allows to rewrite a 'fromAny(Existing/NotExisting) user and/or domain' to a 'toAny(Existing/NotExisting)Account'".</p>
+
+    <p>'An existing account' means an account defined in the Apache James Server.</p>
+    
+    <p>You can also use regular expressions and wildcards (*) for the 'fromAny'.</p>
+    
+    <p>The available methods exposed in the management interface are the following:</p>
+    
+    <source>
+    /**
+     * Add regex mapping
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param regex
+     *            the regex.
+     */
+    void addRegexMapping(String user, String domain, String regex) throws Exception;
+
+    /**
+     * Remove regex mapping
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param regex
+     *            the regex.
+     */
+    void removeRegexMapping(String user, String domain, String regex) throws Exception;
+
+    /***
+     * Add address mapping
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param address
+     *            the address.
+     */
+    void addAddressMapping(String user, String domain, String address) throws Exception;
+
+    /**
+     * Remove address mapping
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param address
+     */
+    void removeAddressMapping(String user, String domain, String address) throws Exception;
+
+    /**
+     * Add error mapping
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param error
+     */
+    void addErrorMapping(String user, String domain, String error) throws Exception;
+
+    /**
+     * Remove error mapping
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param error
+     * @return true if successfully
+     */
+    void removeErrorMapping(String user, String domain, String error) throws Exception;
+
+    /**
+     * Add domain mapping
+     * 
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param targetDomain
+     *            the target domain for the mapping
+     * @return true if successfully
+     */
+    void addDomainMapping(String domain, String targetDomain) throws Exception;
+
+    /**
+     * Remove domain mapping
+     * 
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param targetDomain
+     *            the target domain for the mapping
+     * 
+     * @return true if successfully
+     */
+    void removeDomainMapping(String domain, String targetDomain) throws Exception;
+
+    /**
+     * Return the explicit mapping stored for the given user and domain. Return
+     * null if no mapping was found
+     * 
+     * @param user
+     *            the username
+     * @param domain
+     *            the domain
+     * @return the collection which holds the mappings.
+     */
+    Collection&lt;String&gt; getUserDomainMappings(String user, String domain) throws Exception;
+
+    /**
+     * Try to identify the right method based on the prefix of the mapping and
+     * add it.
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param mapping
+     *            the mapping.
+     */
+    void addMapping(String user, String domain, String mapping) throws Exception;
+
+    /**
+     * Try to identify the right method based on the prefix of the mapping and
+     * remove it.
+     * 
+     * @param user
+     *            the username. Null if no username should be used
+     * @param domain
+     *            the domain. Null if no domain should be used
+     * @param mapping
+     *            the mapping.
+     */
+    void removeMapping(String user, String domain, String mapping) throws Exception;
+
+    /**
+     * Return a Map which holds all mappings. The key is the user@domain and the
+     * value is a Collection which holds all mappings
+     * 
+     * @return Map which holds all mappings
+     */
+    Map&lt;String, Collection&lt;String&gt;&gt; getAllMappings() throws Exception;
+    </source>
+
+  </section>
+
+  <section name="Manage Recipient Rewrite Table via Cli">
+  
+    <p>Not available in this release.</p>
+    
+  </section>
+
+  <section name="Manage Virtual Users via JMX">
+  
+    <p>Use and JMX client to access the Virtual User management function.</p>
+  
+    <p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p>
+      
+    <p><code>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</code></p>
+      
+  </section>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/manage-recipientrewrite.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/manage-users.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/manage-users.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/manage-users.xml (added)
+++ james/site-cms/trunk/content/xdoc/manage-users.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Manage Users</title>
+ </properties>
+
+<body>
+
+  <section name="Manage Users">
+  
+    <p>User accounts are shared across services.  A common user repository is shared across James 
+      services.  That is, once you've created a POP3 mail account and set a password, that same 
+      account is available for authenticated SMTP and NNTP.</p>
+      
+  </section>
+    
+  <section name="Manage Users via Cli">
+  
+    <p>Invoke "james-cli.sh adduser &lt;user&gt; &lt;password&gt;" where &lt;user&gt; is the user name 
+      and &lt;password&gt; is the password of the account you wish to create.</p>
+      
+    <p>Please note that the user name MUST be a complete email address of the form &lt;user&gt;@&lt;domain&gt; 
+      (where &lt;domain&gt; is any of the values specified in the &lt;servernames&gt; block of XMLDomainList or
+      a domain defined via the <a href="manage-domains.html">domain management</a>).</p>
+      
+    <p>That's it.  Your users are now created and can be used by all James services.</p>
+    
+  </section>
+
+  <section name="Manage Users via JMX">
+  
+    <p>Use and JMX client to access the Users management function.</p>
+  
+    <p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p>
+      
+    <p><code>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</code></p>
+     
+    <p>If you want a remote access, you can install a web application management tool such as jmanage. 
+       You will get screens such as the following one.</p>
+         
+    <p><img src="images/jmx-management/jmx-user.png"/></p>
+
+  </section>
+  
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/manage-users.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/manage.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/manage.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/manage.xml (added)
+++ james/site-cms/trunk/content/xdoc/manage.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Manage James Server</title>
+ </properties>
+
+<body>
+
+  <section name="Manage James Server">
+<!-- 
+-->  
+    <p>You need to make sure that your user/domain/mail repository configuration is correct before managing.  If 
+    you change your user/domain/mail repository type (i.e. file to database) or the configuration of your user repository 
+    (i.e. the file or database URL) after you have added user/domain/mail, you may lose your user/domain/mail data.  Please change these 
+    values with care.</p>
+  
+    <p>After you've done this, restart James to ensure that any changes you've made in 
+       the configuration are incorporated into the running system.</p>
+       
+     <p>You are now ready to manage <a href="manage-domains.html">Domains</a>, 
+       <a href="manage-users.html">Users</a> and <a href="manage-recipientrewrite.html">Recipient Rewrite Table</a>.</p>
+
+    <p>You can manage James via:</p>
+    
+    <ol>
+      <li><a href="#Manage_via_CLI">CLI (Client Line Interface)</a></li>
+      <li><a href="#Manage_via_JMX">JMX (Java Management Extension)</a></li>
+    </ol>
+    
+    <subsection name="Manage via CLI">
+  
+      <p>Once James is up and listening, managing via the command line interface is simple.</p>
+      
+      <p>cd bin</p>
+      
+      <p>./james-cli.sh (or james-cli.bat on windows) ./james-cli.sh -h localhost -p 9999</p>
+
+      <p>You will be shown with a list of commands.</p>
+
+      <source>
+  usage: java org.apache.james.cli.ServerCmd --host &lt;arg&gt; &lt;command&gt;
+    -h,--host &lt;/arg&gt;   node hostname or ip address
+    -p,--port &lt;/arg&gt;   remote jmx agent port number
+  Available commands:
+    adduser &lt;/username&gt; &lt;/password&gt;
+    removeuser &lt;/username&gt;
+    listusers
+    adddomain &lt;/domainname&gt;
+    removedomain &lt;/domainname&gt;
+    listdomains
+      </source>
+  
+      <p>Note the address and port defined in conf/jmx.properties (default is jmx.address=127.0.0.1 and jmx.port=9999)</p>
+
+    </subsection>
+    
+    <subsection name="Manage via JMX">
+    
+      <p>James can be managed via JMX.</p>
+      
+      <p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p>
+      
+      <p><code>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </code></p>
+      
+      <p>Simply launch jconsole to access the exposed attributes and methods.</p>
+<!-- 
+      <div class="ui-widget">
+        <div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"> 
+          <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span> 
+          <strong>JMX on Windows:</strong>
+          to let windows start with jmx username/password enabled, 
+          you need to modify the security settings for the jmx files like descripted here:
+          <a href="http://download.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html">
+          http://download.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html</a>
+        </p>
+        </div>
+      </div>
+-->
+      <p>If you want a remote access, change 'localhost' to your server hostname in the previous URL:</p>
+      
+      <p><code>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </code></p>
+      
+      <p>To manage through a firewall, you will have to take care to random ports creation (read
+         <a href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html">JMX agent</a>
+         , 
+         <a href="http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall">JMX through firewall</a>
+         and
+         <a href="http://blogs.law.harvard.edu/hoanga/2006/07/07/getting-java-jmx-to-work-through-firewalls-properly">Getting Java JMX to work through firewalls properly</a>.
+      </p>
+      
+      <p>You can install a web application management tool such as jmanage. 
+         You will get screens such as the following one.</p>
+      
+       <p><img src="images/jmx-management/jmx-domainlist.png"/></p>
+
+    </subsection>
+  
+  </section>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/manage.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/monitor-folders.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/monitor-folders.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/monitor-folders.xml (added)
+++ james/site-cms/trunk/content/xdoc/monitor-folders.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Monitor Folders</title>
+ </properties>
+
+<body>
+
+  <section name="Monitor Folders">
+  
+    <subsection name="Monitor ./var Folder Usage">
+    
+    <p>The directory structure in ./var is shown hereafter.</p>
+  
+<source>
+mail
++-error
++-address-error
++-relay-denied
++-spam
+
+store
++-maildir
++-derby
++-jackrabbit
++-activemq
+  +-brokers
+    +-james
+  +-blob-transfer
+    +-outgoing
+    +-spool
+</source>
+
+      <p>The $JAMES_ROOT/var folder is the place where James Server writes and reads the
+         files it needs to achieve its functions.</p>
+
+      <p>There should be two folders in var:</p>
+      <ul>
+        <li>mail</li>
+        <li>store</li>
+      </ul>
+
+      <p>The mail folder does NOT contain the users mails
+         (look at store folder (or your external database) to find the mailboxes).
+         The mail folder contains the mails rejected during the spooling (depending on 
+         mailetcontainer.xml configuration). Sub folders of 
+         var/mail can be address-error, error, relay-denied, spam</p>
+      
+       <p>The store folder contains the files related to database, jcr, activemq,... needed by James.
+         James Server default settings comes with a embedded Derby database that stores the 
+         users, domains and mailboxes (the user mails) (see store/derby folder).</p>
+         
+       <p>Of course, if you changed database.properties and still use a database for the mailboxes,
+          you will have to look for the users, domains and mailboxes in your database, whatever,
+          wherever it is.</p>
+     
+        <p>You can find in store folder sub-folders such as:</p>
+     
+<source>
+activemq
++-brokers
+  +-james
++-blob-transfer
+  +-outgoing
+  +-spool
+</source>
+          
+          <p>The activemq component is configured to use this folder
+             for queue (and topics if any) processing.</p>
+     
+<source>
+maildir
+</source>     
+         
+         <p>You can configure James to use MailDir as storage for the user
+            mailboxes. Use var/store/maildir folder to contain the user's
+            mails.</p>
+
+<source>
+jackrabbit
+</source>
+     
+         <p>You can configure James to use JCR (Java Content Repository, based
+            on Apache Jackrabbit) as storage for the user mailboxes. Use 
+            var/store/jackrabbit folder to contain the user's mails.</p>
+ 
+    </subsection>
+
+    <subsection name="Monitor tmp Folder Usage">
+    
+      <p>For some certain functions, James uses the system temporary folder (/tmp on linux).
+         The system temp can be populated with some temporary files, but James should remove
+         them after a short time.</p>
+    
+    </subsection>
+  
+  </section>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/monitor-folders.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL

Added: james/site-cms/trunk/content/xdoc/monitor-jmx.xml
URL: http://svn.apache.org/viewvc/james/site-cms/trunk/content/xdoc/monitor-jmx.xml?rev=1338063&view=auto
==============================================================================
--- james/site-cms/trunk/content/xdoc/monitor-jmx.xml (added)
+++ james/site-cms/trunk/content/xdoc/monitor-jmx.xml Mon May 14 08:45:02 2012
@@ -0,0 +1,112 @@
+<!--
+  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.    
+-->
+<document>
+
+ <properties>
+  <title>Apache James Server 3 - Monitor via JMX</title>
+ </properties>
+
+<body>
+
+  <section name="Monitor via JMX">
+<!-- 
+Additional Notes to be documented
+- - - - - - - - - - - - - - - - - 
+  what you mean with how I see permanent errors ?
+  unknow users are in ValidRcptHandler
+  but if someone would just ignore the 5xx return code on rcpt and suply the data it would return a permanent error
+  so yes it could be in there too
+  maybe we should only count the first 5xx in a transaction
+  
+  for the rejected message, I would except to be counted as ok in the stats
+  why
+  it's not an smtp protocol error
+  5xx is an error
+  thats the whole point of the stats
+  see how many messages are rejected via permanent error and how many via temporary error
+  what's the difference between permanet and temporary ?
+  temporary will get try to redelivered later
+  like greylisting is temporary
+-->
+    <p>You can monitor James Server via JMX.</p>
+
+    <p>The managed objects are exposed from localhost only (for security reasons) on the following URL:</p>
+      
+    <p><code>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</code></p>
+      
+    <p>Simply launch jconsole to access the exposed attributes and methods.
+       Active Connections active per component, limits,... can be displayed and following services can 
+       be monitored:</p>
+
+    <ul>
+      <li>IMAP</li>
+      <li>POP3</li>
+      <li>SMTP</li>
+      <li>LMTP</li>
+      <li>RemoteManager</li>
+      <li>DNSService</li>
+      <li>Queues</li>
+    </ul>
+     
+    <p>If you want to access the JXM server from a remote location, you can <a href="config-system.html">configure
+       the hostname and port</a> on which James listens to.</p>
+    
+  </section>
+    
+  <section name="Statistics via JMX">
+  
+    <p>You can enable satistics collection for SMTP/LMPT/POP3 Servers via JMX. 
+       Configure for example smtpserver.xml with</p>
+       
+    <source>
+&lt;handler class="org.apache.james.smtpserver.jmx.ConnectHandlerResultJMXMonitor"/&gt;
+&lt;handler class="org.apache.james.smtpserver.jmx.LineHandlerResultJMXMonitor"/&gt;
+&lt;handler class="org.apache.james.smtpserver.jmx.CommandHandlerResultJMXMonitor"/&gt;
+&lt;handler class="org.apache.james.smtpserver.jmx.HookResultJMXMonitor"/&gt; (only for smtp)
+    </source>
+
+    <p><img src="images/jmx-monitoring/jmx-org.apache.james.smtpserver.JamesDataCmdHandler.png"/></p>
+
+  </section>
+
+  <section name="Statistics via JMX">
+  
+    <p>You can enable satistics collection for SMTP/LMPT/POP3 Servers via JMX. 
+       Configure for example smtpserver.xml with</p>
+       
+    <p><img src="images/jmx-monitoring/jmx-org.apache.james.smtpserver.JamesDataCmdHandler.png"/></p>
+
+    </section>
+       
+  <section name="JMX Remote Access">
+  
+    <p>If you want a remote access, you can install a web application management tool such as jmanage. 
+       You will get screens such as the following one.</p>
+       
+    <p><img src="images/jmx-monitoring/jmx-current-connections.png"/></p>
+
+    <p><img src="images/jmx-monitoring/jmx-memory.png"/></p>
+
+    <p><img src="images/jmx-monitoring/jmx-gc.png"/></p>
+  
+  </section>
+
+</body>
+
+</document>

Propchange: james/site-cms/trunk/content/xdoc/monitor-jmx.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Revision HeadURL



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