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 <mydomain.tls> <mydomain.tls> is the domain name
+ of the domain you wish to create.</p>
+
+ <p>Invoke "james-cli.sh adduser <user> <password>" where <user> is the user name
+ and <password> 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 <user>@<domain>
+ (where <domain> is any of the values specified in the <servernames> 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:<YOUR_NAME@YOUR_DOMAIN>
+250 2.1.0 Sender <YOUR_NAME@YOUR_DOMAIN> OK
+rcpt to:<YOUR_NAME@YOUR_DOMAIN>
+250 2.1.5 Recipient <YOUR_NAME@YOUR_DOMAIN> OK
+data
+354 Ok Send data ending with <CRLF>.<CRLF>
+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 <mydomain.tls> <mydomain.tls> 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<String> 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<String, Collection<String>> 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 <user> <password>" where <user> is the user name
+ and <password> 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 <user>@<domain>
+ (where <domain> is any of the values specified in the <servernames> 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 <arg> <command>
+ -h,--host </arg> node hostname or ip address
+ -p,--port </arg> remote jmx agent port number
+ Available commands:
+ adduser </username> </password>
+ removeuser </username>
+ listusers
+ adddomain </domainname>
+ removedomain </domainname>
+ 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>
+<handler class="org.apache.james.smtpserver.jmx.ConnectHandlerResultJMXMonitor"/>
+<handler class="org.apache.james.smtpserver.jmx.LineHandlerResultJMXMonitor"/>
+<handler class="org.apache.james.smtpserver.jmx.CommandHandlerResultJMXMonitor"/>
+<handler class="org.apache.james.smtpserver.jmx.HookResultJMXMonitor"/> (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