You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/06/14 08:48:57 UTC
[3/8] james-site git commit: JAMES-1789 Refreshing documentation
http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage-cli.html
----------------------------------------------------------------------
diff --git a/content/server/manage-cli.html b/content/server/manage-cli.html
new file mode 100644
index 0000000..d3a1438
--- /dev/null
+++ b/content/server/manage-cli.html
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at 2017-06-14 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Apache James Project - </title>
+ <style type="text/css" media="all">
+ @import url("../css/james.css");
+ @import url("../css/maven-base.css");
+ @import url("../css/maven-theme.css");
+ @import url("../css/site.css");
+ @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
+ @import url("../js/jquery/css/print.css");
+ @import url("../js/fancybox/jquery.fancybox-1.3.4.css");
+ </style>
+ <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
+ <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script>
+ <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+ <meta name="Date-Revision-yyyymmdd" content="20170614" />
+ <meta http-equiv="Content-Language" content="en" />
+
+<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
+
+ <!-- Google Analytics -->
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-1384591-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="../index.html" id="bannerLeft" title="james-logo.png">
+
+
+ <img src="../images/logos/james-logo.png" alt="James Project" />
+ </a>
+ <a href="http://www.apache.org/index.html" id="bannerRight">
+
+
+ <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" />
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+ <div class="xleft">
+ <span id="publishDate">Last Published: 2017-06-14</span>
+ </div>
+ <div class="xright"> <a href="../index.html" title="Home">Home</a>
+ |
+ <a href="../documentation.html" title="James">James</a>
+ |
+ <a href="../mime4j/index.html" title="Mime4J">Mime4J</a>
+ |
+ <a href="../jsieve/index.html" title="jSieve">jSieve</a>
+ |
+ <a href="../jspf/index.html" title="jSPF">jSPF</a>
+ |
+ <a href="../jdkim/index.html" title="jDKIM">jDKIM</a>
+ |
+ <a href="../hupa/index.html" title="Hupa">Hupa</a>
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+ <h5>James components</h5>
+ <ul>
+ <li class="collapsed">
+ <a href="../documentation.html" title="About James">About James</a>
+ </li>
+
<li class="expanded">
+ <a href="../server/index.html" title="Server">Server</a>
+ <ul>
+ <li class="none">
+ <a href="../server/advantages.html" title="Advantages">Advantages</a>
+ </li>
+ <li class="none">
+ <a href="../server/objectives.html" title="Objectives">Objectives</a>
+ </li>
+
<li class="expanded">
+ <a href="../server/quick-start.html" title="User Manual">User Manual</a>
+ <ul>
+ <li class="collapsed">
+ <a href="../server/features.html" title="1. Features">1. Features</a>
+ </li>
+ <li class="none">
+ <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a>
+ </li>
+ <li class="none">
+ <a href="../server/install.html" title="3. Install James">3. Install James</a>
+ </li>
+ <li class="collapsed">
+ <a href="../server/config.html" title="4. Configure James">4. Configure James</a>
+ </li>
+ <li class="expanded">
+ <a href="../server/manage.html" title="5. Manage">5. Manage</a>
+ <ul>
+ <li class="none">
+ <a href="../server/manage-webadmin.html" title="WebAdmin">WebAdmin</a>
+ </li>
+ <li class="none">
+ <strong>Command line</strong>
+ </li>
+ <li class="none">
+ <a href="../server/metrics.html" title="Metrics">Metrics</a>
+ </li>
+ </ul>
+ </li>
+ <li class="collapsed">
+ <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a>
+ </li>
+ <li class="collapsed">
+ <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a>
+ </li>
+ <li class="collapsed">
+ <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a>
+ </li>
+ </ul>
+ </li>
+ <li class="none">
+ <a href="../mail.html#James_Mailing_lists" title="Mailing Lists">Mailing Lists</a>
+ </li>
+ <li class="none">
+ <a href="../server/release-notes.html" title="Release Notes">Release Notes</a>
+ </li>
+ <li class="none">
+ <a href="../server/apidocs/index.html" title="Javadoc">Javadoc</a>
+ </li>
+ <li class="none">
+ <a href="https://issues.apache.org/jira/browse/JAMES" title="Issue Tracker">Issue Tracker</a>
+ </li>
+ <li class="none">
+ <a href="https://github.com/apache/james-project" title="Sources">Sources</a>
+ </li>
+ <li class="none">
+ <a href="../server/rfcs.html" title="RFCs">RFCs</a>
+ </li>
+ <li class="none">
+ <a href="../other-versions.html" title="Other versions">Other versions</a>
+ </li>
+ <li class="none">
+ <a href="../download.cgi#Apache_James_Server" title="Download releases">Download releases</a>
+ </li>
+ </ul>
+ </li>
+ <li class="collapsed">
+ <a href="../mailet/index.html" title="Mailets">Mailets</a>
+ </li>
+ <li class="collapsed">
+ <a href="../mailbox/index.html" title="Mailbox">Mailbox</a>
+ </li>
+ <li class="collapsed">
+ <a href="../protocols/index.html" title="Protocols">Protocols</a>
+ </li>
+ <li class="collapsed">
+ <a href="../mpt/index.html" title="MPT">MPT</a>
+ </li>
+ </ul>
+ <h5>Apache Software Foundation</h5>
+ <ul>
+ <li>
+ <strong>
+ <a title="ASF" href="http://www.apache.org/">ASF</a>
+ </strong>
+ </li>
+ <li>
+ <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
+ </li>
+ <li>
+ <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a>
+ </li>
+ <li>
+ <a title="License" href="http://www.apache.org/licenses/" >License</a>
+ </li>
+ <li>
+ <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+ </li>
+ <li>
+ <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+ </li>
+ <li>
+ <a title="Security" href="http://www.apache.org/security/">Security</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
+ </a>
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <h1>Manage James via the Command Line</h1>
+<p>With any packaging, James is packed with a command line client.</p>
+<p>To use it enter, for Spring distrubution:</p>
+
+<div class="source">
+<pre>./bin/james-cli.sh -h 127.0.0.1 -p 9999 COMMAND
+</pre></div>
+<p>And for Guice distributions:</p>
+
+<div class="source">
+<pre>java -jar /root/james-cli.jar -h 127.0.0.1 -p 9999 COMMAND
+</pre></div>
+<p>The following document will explain you which are the available options for <b>COMMAND</b>.</p>
+<p>Note: the command line before <b>COMMAND</b> will be documente as <i>{cli}</i>.</p>
+<div class="section">
+<h2>Manage Domains<a name="Manage_Domains"></a></h2>
+<p>Domains represent the domain names handled by your server.</p>
+<p>You can add a domain:</p>
+
+<div class="source">
+<pre>{cli} AddDomain domain.tld
+</pre></div>
+<p>You can remove a domain:</p>
+
+<div class="source">
+<pre>{cli} RemoveDomain domain.tld
+</pre></div>
+<p>(Note: associated users are not removed automatically)</p>
+<p>Check if a domain is handled:</p>
+
+<div class="source">
+<pre>{cli} ContainsDomain domain.tld
+</pre></div>
+<p>And list your domains:</p>
+
+<div class="source">
+<pre>{cli} ListDomains
+</pre></div></div>
+<div class="section">
+<h2>Managing users<a name="Managing_users"></a></h2>
+<p>Note: the following commands are explained with virtual hosting turned on.</p>
+<p>Users are accounts on the mail server. James can maintain mailboxes for them.</p>
+<p>You can add a user:</p>
+
+<div class="source">
+<pre>{cli} AddUser user@domain.tld password
+</pre></div>
+<p>Note: the domain used should have been previously created.</p>
+<p>You can delete a user:</p>
+
+<div class="source">
+<pre>{cli} RemoveUser user@domain.tld
+</pre></div>
+<p>(Note: associated mailboxes are not removed automatically)</p>
+<p>And change a user password:</p>
+
+<div class="source">
+<pre>{cli} SetPassword user@domain.tld password
+</pre></div>
+<p>Note: All these write operations can not be performed on LDAP backend, as the implementation is read-only.</p>
+<p>Finally, you can list users:</p>
+
+<div class="source">
+<pre>{cli} ListUsers
+</pre></div>
+<div class="section">
+<h3>Virtual hosting<a name="Virtual_hosting"></a></h3>
+<p>James supports virtualhosting.</p>
+
+<ul>
+
+<li>If set to true in the configuration, then the username is the full mail address.</li>
+</ul>
+<p>The domains then become a part of the user.</p>
+<p><i><a class="externalLink" href="mailto:usera@domaina.com">usera@domaina.com</a> and</i> *<a class="externalLink" href="mailto:usera@domainb.com*">usera@domainb.com*</a> on a mail server with <i>domaina.com</i> and <i>domainb.com</i> configured are mail addresses that belongs to different users.</p>
+
+<ul>
+
+<li>If set to false in the configurations, then the username is the mail address local part.</li>
+</ul>
+<p>It means that a user is automatically created for all the domains configured on your server.</p>
+<p><i><a class="externalLink" href="mailto:usera@domaina.com">usera@domaina.com</a> and</i> *<a class="externalLink" href="mailto:usera@domainb.com*">usera@domainb.com*</a> on a mail server with <i>domaina.com</i> and <i>domainb.com</i> configured are mail addresses that belongs to the same users.</p>
+<p>Here are some sample commands for managing users when virtual hosting is turned off:</p>
+
+<div class="source">
+<pre>{cli} AddUser user password
+{cli} RemoveUser user
+{cli} SetPassword user password
+</pre></div></div></div>
+<div class="section">
+<h2>Managing mailboxes<a name="Managing_mailboxes"></a></h2>
+<p>An administrator can perform some basic operation on user mailboxes.</p>
+<p>Note on mailbox formatting: mailboxes are composed of three parts.</p>
+
+<ul>
+
+<li>The namespace, indicating what kind of mailbox it is. (Shared or not?). The value for users mailboxes is #private . Note that for now no other values are supported as James do not support shared mailboxes.</li>
+
+<li>The username as stated above, depending on the virtual hosting value.</li>
+
+<li>And finally mailbox name. Be aware that ‘.’ serves as mailbox hierarchy delimiter.</li>
+</ul>
+<p>An administrator can delete all of the mailboxes of a user, which is not done automatically when removing a user (to avoid data loss):</p>
+
+<div class="source">
+<pre>{cli} DeleteUserMailboxes user@domain.tld
+</pre></div>
+<p>He can delete a specific mailbox:</p>
+
+<div class="source">
+<pre>{cli} DeleteMailbox #private user@domain.tld INBOX.toBeDeleted
+</pre></div>
+<p>He can list the mailboxes of a specific user:</p>
+
+<div class="source">
+<pre>{cli} ListUserMailboxes user@domain.tld
+</pre></div>
+<p>And finally can create a specific mailbox:</p>
+
+<div class="source">
+<pre>{cli} CreateMailbox #private user@domain.tld INBO.newFolder
+</pre></div></div>
+<div class="section">
+<h2>Managing mappings<a name="Managing_mappings"></a></h2>
+<p>A mapping is a recipient rewritting rule. There is several kind of rewritting rules:</p>
+
+<ul>
+
+<li>address mapping: rewrite a given mail address into an other one.</li>
+
+<li>regex mapping.</li>
+</ul>
+<p>You can manage address mapping like (redirects email from <a class="externalLink" href="mailto:user@domain.tld">user@domain.tld</a> to <a class="externalLink" href="mailto:redirected@domain.new">redirected@domain.new</a>, then deletes the mapping):</p>
+
+<div class="source">
+<pre>{cli} AddAddressMapping redirected domain.new user@domain.tld
+{cli} RemoveAddressMapping redirected domain.new user@domain.tld
+</pre></div>
+<p>You can manage regex mapping like this:</p>
+
+<div class="source">
+<pre>{cli} AddRegexMapping redirected domain.new .*@domain.tld
+{cli} RemoveRegexMapping redirected domain.new .*@domain.tld
+</pre></div>
+<p>You can view mapping for a mail address:</p>
+
+<div class="source">
+<pre>{cli} ListUserDomainMappings user domain.tld
+</pre></div>
+<p>And all mappings defined on the server:</p>
+
+<div class="source">
+<pre>{cli} ListMappings
+</pre></div></div>
+<div class="section">
+<h2>Manage quotas<a name="Manage_quotas"></a></h2>
+<p>Quotas are limitations on a group of mailboxes. They can limit the <b>size</b> or the <b>messages count</b> in a group of mailboxes.</p>
+<p>James groups by defaults mailboxes by user (but it can be overridden), and labels each group with a quotaroot.</p>
+<p>To get the quotaroot a given mailbox belongs to:</p>
+
+<div class="source">
+<pre>{cli} GetQuotaroot #private user@domain.tld INBOX
+</pre></div>
+<p>Then you can get the specific quotaroot limitations.</p>
+<p>For the number of messages:</p>
+
+<div class="source">
+<pre>{cli} GetMessageCountQuota quotaroot
+</pre></div>
+<p>And for the storage space available:</p>
+
+<div class="source">
+<pre>{cli} GetStorageQuota quotaroot
+</pre></div>
+<p>You see the maximum allowed for these values:</p>
+<p>For the number of messages:</p>
+
+<div class="source">
+<pre>{cli} GetMaxMessageCountQuota quotaroot
+</pre></div>
+<p>And for the storage space available:</p>
+
+<div class="source">
+<pre>{cli} GetMaxStorageQuota quotaroot
+</pre></div>
+<p>You can also specify maximum for these values.</p>
+<p>For the number of messages:</p>
+
+<div class="source">
+<pre>{cli} SetMaxMessageCountQuota quotaroot value
+</pre></div>
+<p>And for the storage space available:</p>
+
+<div class="source">
+<pre>{cli} SetMaxStorageQuota quotaroot value
+</pre></div>
+<p>With value being an integer. Please note the use of units for storage (K, M, G). For instance:</p>
+
+<div class="source">
+<pre>{cli} SetMaxStorageQuota someone@apache.org 4G
+</pre></div>
+<p>Moreover, James allows to specify defaults maximum values, at the server level. Note: syntax is similar to what was exposed previously.</p>
+
+<div class="source">
+<pre>{cli} SetDefaultMaxMessageCountQuota value
+{cli} GetDefaultMaxMessageCountQuota
+{cli} SetDefaultMaxStorageQuota value
+{cli} GetDefaultMaxStorageQuota
+</pre></div></div>
+<div class="section">
+<h2>Re-indexing<a name="Re-indexing"></a></h2>
+<p>James allow you to index your emails in a search engine, for making search faster. Both ElasticSearch and Lucene are supported.</p>
+<p>For some reasons, you might want to re-index your mails (inconsistencies across datastore, migrations).</p>
+<p>To re-index all mails of all mailboxes of all users, type:</p>
+
+<div class="source">
+<pre>{cli} ReindexAll
+</pre></div>
+<p>And for a precise mailbox:</p>
+
+<div class="source">
+<pre>{cli} Reindex #private user@domain.tld INBOX
+</pre></div></div>
+<div class="section">
+<h2>Sieve scripts quota<a name="Sieve_scripts_quota"></a></h2>
+<p>James implements Sieve (RFC-5228). Your users can then writte scripts and upload them to the server. Thus they can define the desired behavior upon email reception. James defines a Sieve mailet for this, and stores Sieve scripts. You can update them via the ManageSieve protocol, or via the ManageSieveMailet.</p>
+<p>You can define quota for the total size of Sieve scripts, per user.</p>
+<p>Syntax is similar to what was exposed for quotas. For defaults values:</p>
+
+<div class="source">
+<pre>{cli} GetSieveQuota
+{cli} SetSieveQuota value
+{cli} RemoveSieveQuota
+</pre></div>
+<p>And for specific user quotas:</p>
+
+<div class="source">
+<pre>{cli} GetSieveUserQuota user@domain.tld
+{cli} SetSieveQuota user@domain.tld value
+{cli} RemoveSieveUserQuota user@domain.tld
+</pre></div></div>
+<div class="section">
+<h2>Switching of mailbox implementation<a name="Switching_of_mailbox_implementation"></a></h2>
+<p>Migration is experimental for now. You would need to customize <b>Spring</b> configuration to add a new mailbox manager with a different bean name.</p>
+<p>You can then copy data accross mailbox managers using:</p>
+
+<div class="source">
+<pre>{cli} CopyMailbox srcBean dstBean
+</pre></div>
+<p>You will then need to reconfigure James to use the new mailbox manager.</p></div>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">Copyright © 2006-2017
+ <a href="https://www.apache.org/">The Apache Software Foundation</a>.
+ All Rights Reserved.
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage-jmx.html
----------------------------------------------------------------------
diff --git a/content/server/manage-jmx.html b/content/server/manage-jmx.html
new file mode 100644
index 0000000..5866394
--- /dev/null
+++ b/content/server/manage-jmx.html
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at 2017-06-14 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Apache James Project -
+ Apache James Server 3 - Manage Domains</title>
+ <style type="text/css" media="all">
+ @import url("../css/james.css");
+ @import url("../css/maven-base.css");
+ @import url("../css/maven-theme.css");
+ @import url("../css/site.css");
+ @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
+ @import url("../js/jquery/css/print.css");
+ @import url("../js/fancybox/jquery.fancybox-1.3.4.css");
+ </style>
+ <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
+ <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script>
+ <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+ <meta name="Date-Revision-yyyymmdd" content="20170614" />
+ <meta http-equiv="Content-Language" content="en" />
+
+<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
+
+ <!-- Google Analytics -->
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-1384591-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="../index.html" id="bannerLeft" title="james-logo.png">
+
+
+ <img src="../images/logos/james-logo.png" alt="James Project" />
+ </a>
+ <a href="http://www.apache.org/index.html" id="bannerRight">
+
+
+ <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" />
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+ <div class="xleft">
+ <span id="publishDate">Last Published: 2017-06-14</span>
+ </div>
+ <div class="xright"> <a href="../index.html" title="Home">Home</a>
+ |
+ <a href="../documentation.html" title="James">James</a>
+ |
+ <a href="../mime4j/index.html" title="Mime4J">Mime4J</a>
+ |
+ <a href="../jsieve/index.html" title="jSieve">jSieve</a>
+ |
+ <a href="../jspf/index.html" title="jSPF">jSPF</a>
+ |
+ <a href="../jdkim/index.html" title="jDKIM">jDKIM</a>
+ |
+ <a href="../hupa/index.html" title="Hupa">Hupa</a>
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+ <h5>James components</h5>
+ <ul>
+ <li class="collapsed">
+ <a href="../documentation.html" title="About James">About James</a>
+ </li>
+
<li class="collapsed">
+ <a href="../server/index.html" title="Server">Server</a>
+ </li>
+ <li class="collapsed">
+ <a href="../mailet/index.html" title="Mailets">Mailets</a>
+ </li>
+ <li class="collapsed">
+ <a href="../mailbox/index.html" title="Mailbox">Mailbox</a>
+ </li>
+ <li class="collapsed">
+ <a href="../protocols/index.html" title="Protocols">Protocols</a>
+ </li>
+ <li class="collapsed">
+ <a href="../mpt/index.html" title="MPT">MPT</a>
+ </li>
+ </ul>
+ <h5>Apache Software Foundation</h5>
+ <ul>
+ <li>
+ <strong>
+ <a title="ASF" href="http://www.apache.org/">ASF</a>
+ </strong>
+ </li>
+ <li>
+ <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
+ </li>
+ <li>
+ <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a>
+ </li>
+ <li>
+ <a title="License" href="http://www.apache.org/licenses/" >License</a>
+ </li>
+ <li>
+ <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+ </li>
+ <li>
+ <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+ </li>
+ <li>
+ <a title="Security" href="http://www.apache.org/security/">Security</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
+ </a>
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <!-- Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License. -->
+
+
+
+ <div class="section">
+<h2>Manage via JMX<a name="Manage_via_JMX"></a></h2>
+
+
+<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><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></p>
+
+
+<p>Simply launch jconsole to access the exposed attributes and methods.</p>
+
+
+<p>If you want a remote access, change 'localhost' to your server hostname in the previous URL:</p>
+
+
+<p><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></p>
+
+
+<p>To manage through a firewall, you will have to take care to random ports creation (read
+ <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html">JMX agent</a>
+ ,
+ <a class="externalLink" href="http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall">JMX through firewall</a>
+ and
+ <a class="externalLink" 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" alt="" /></p>
+
+ </div>
+
+
+<div class="section">
+<h2>Manage Domains via JMX<a name="Manage_Domains_via_JMX"></a></h2>
+
+
+<p>Use a 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><tt>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</tt></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" alt="" /></p>
+
+ </div>
+
+
+<div class="section">
+<h2>Manage Users via JMX<a name="Manage_Users_via_JMX"></a></h2>
+
+
+<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><tt>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</tt></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" alt="" /></p>
+
+ </div>
+
+
+<div class="section">
+<h2>Manage Virtual Users via JMX<a name="Manage_Virtual_Users_via_JMX"></a></h2>
+
+
+<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><tt>service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</tt></p>
+
+ </div>
+
+
+
+
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">Copyright © 2006-2017
+ <a href="https://www.apache.org/">The Apache Software Foundation</a>.
+ All Rights Reserved.
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage-webadmin.html
----------------------------------------------------------------------
diff --git a/content/server/manage-webadmin.html b/content/server/manage-webadmin.html
new file mode 100644
index 0000000..ffa3da9
--- /dev/null
+++ b/content/server/manage-webadmin.html
@@ -0,0 +1,634 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at 2017-06-14 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Apache James Project - </title>
+ <style type="text/css" media="all">
+ @import url("../css/james.css");
+ @import url("../css/maven-base.css");
+ @import url("../css/maven-theme.css");
+ @import url("../css/site.css");
+ @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
+ @import url("../js/jquery/css/print.css");
+ @import url("../js/fancybox/jquery.fancybox-1.3.4.css");
+ </style>
+ <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
+ <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script>
+ <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+ <meta name="Date-Revision-yyyymmdd" content="20170614" />
+ <meta http-equiv="Content-Language" content="en" />
+
+<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
+
+ <!-- Google Analytics -->
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-1384591-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="../index.html" id="bannerLeft" title="james-logo.png">
+
+
+ <img src="../images/logos/james-logo.png" alt="James Project" />
+ </a>
+ <a href="http://www.apache.org/index.html" id="bannerRight">
+
+
+ <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" />
+ </a>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+ <div class="xleft">
+ <span id="publishDate">Last Published: 2017-06-14</span>
+ </div>
+ <div class="xright"> <a href="../index.html" title="Home">Home</a>
+ |
+ <a href="../documentation.html" title="James">James</a>
+ |
+ <a href="../mime4j/index.html" title="Mime4J">Mime4J</a>
+ |
+ <a href="../jsieve/index.html" title="jSieve">jSieve</a>
+ |
+ <a href="../jspf/index.html" title="jSPF">jSPF</a>
+ |
+ <a href="../jdkim/index.html" title="jDKIM">jDKIM</a>
+ |
+ <a href="../hupa/index.html" title="Hupa">Hupa</a>
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+ <h5>James components</h5>
+ <ul>
+ <li class="collapsed">
+ <a href="../documentation.html" title="About James">About James</a>
+ </li>
+
<li class="expanded">
+ <a href="../server/index.html" title="Server">Server</a>
+ <ul>
+ <li class="none">
+ <a href="../server/advantages.html" title="Advantages">Advantages</a>
+ </li>
+ <li class="none">
+ <a href="../server/objectives.html" title="Objectives">Objectives</a>
+ </li>
+
<li class="expanded">
+ <a href="../server/quick-start.html" title="User Manual">User Manual</a>
+ <ul>
+ <li class="collapsed">
+ <a href="../server/features.html" title="1. Features">1. Features</a>
+ </li>
+ <li class="none">
+ <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a>
+ </li>
+ <li class="none">
+ <a href="../server/install.html" title="3. Install James">3. Install James</a>
+ </li>
+ <li class="collapsed">
+ <a href="../server/config.html" title="4. Configure James">4. Configure James</a>
+ </li>
+ <li class="expanded">
+ <a href="../server/manage.html" title="5. Manage">5. Manage</a>
+ <ul>
+ <li class="none">
+ <strong>WebAdmin</strong>
+ </li>
+ <li class="none">
+ <a href="../server/manage-cli.html" title="Command line">Command line</a>
+ </li>
+ <li class="none">
+ <a href="../server/metrics.html" title="Metrics">Metrics</a>
+ </li>
+ </ul>
+ </li>
+ <li class="collapsed">
+ <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a>
+ </li>
+ <li class="collapsed">
+ <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a>
+ </li>
+ <li class="collapsed">
+ <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a>
+ </li>
+ </ul>
+ </li>
+ <li class="none">
+ <a href="../mail.html#James_Mailing_lists" title="Mailing Lists">Mailing Lists</a>
+ </li>
+ <li class="none">
+ <a href="../server/release-notes.html" title="Release Notes">Release Notes</a>
+ </li>
+ <li class="none">
+ <a href="../server/apidocs/index.html" title="Javadoc">Javadoc</a>
+ </li>
+ <li class="none">
+ <a href="https://issues.apache.org/jira/browse/JAMES" title="Issue Tracker">Issue Tracker</a>
+ </li>
+ <li class="none">
+ <a href="https://github.com/apache/james-project" title="Sources">Sources</a>
+ </li>
+ <li class="none">
+ <a href="../server/rfcs.html" title="RFCs">RFCs</a>
+ </li>
+ <li class="none">
+ <a href="../other-versions.html" title="Other versions">Other versions</a>
+ </li>
+ <li class="none">
+ <a href="../download.cgi#Apache_James_Server" title="Download releases">Download releases</a>
+ </li>
+ </ul>
+ </li>
+ <li class="collapsed">
+ <a href="../mailet/index.html" title="Mailets">Mailets</a>
+ </li>
+ <li class="collapsed">
+ <a href="../mailbox/index.html" title="Mailbox">Mailbox</a>
+ </li>
+ <li class="collapsed">
+ <a href="../protocols/index.html" title="Protocols">Protocols</a>
+ </li>
+ <li class="collapsed">
+ <a href="../mpt/index.html" title="MPT">MPT</a>
+ </li>
+ </ul>
+ <h5>Apache Software Foundation</h5>
+ <ul>
+ <li>
+ <strong>
+ <a title="ASF" href="http://www.apache.org/">ASF</a>
+ </strong>
+ </li>
+ <li>
+ <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
+ </li>
+ <li>
+ <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a>
+ </li>
+ <li>
+ <a title="License" href="http://www.apache.org/licenses/" >License</a>
+ </li>
+ <li>
+ <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+ </li>
+ <li>
+ <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+ </li>
+ <li>
+ <a title="Security" href="http://www.apache.org/security/">Security</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
+ </a>
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <h1>Web administration for JAMES</h1>
+<p>The web administration supports for now the CRUD operations on the domains,the users, their mailboxes and their quotas, as described in the following sections.</p>
+<p><b>WARNING</b>: This API allow authentication only via the use of JWT. If not configured with JWT, an administrator should ensure an attacker can not use this API.</p>
+<p>Please also note <b>webadmin</b> is only enabled with <b>Guice</b>. You can not use it when using James with <b>Spring</b>, as the required injections are not implemented.</p>
+<div class="section">
+<h2>Administrating domains<a name="Administrating_domains"></a></h2>
+<div class="section">
+<h3>Create a domain<a name="Create_a_domain"></a></h3>
+
+<div class="source">
+<pre>curl -XPUT http://ip:port/domains/domainToBeCreated
+</pre></div>
+<p>Resource name domainToBeCreated:</p>
+
+<ul>
+
+<li>can not be null or empty</li>
+
+<li>can not contain ‘@’</li>
+
+<li>can not be more than 255 characters</li>
+
+<li>can not contain ‘/’</li>
+</ul>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The domain was successfully added</li>
+
+<li>400: The domain name is invalid</li>
+
+<li>500: Internal error while adding the domain</li>
+</ul></div>
+<div class="section">
+<h3>Delete a domain<a name="Delete_a_domain"></a></h3>
+
+<div class="source">
+<pre>curl -XDELETE http://ip:port/domains/domainToBeDeleted
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The domain was successfully removed</li>
+
+<li>500: Internal error while removing the domain</li>
+</ul></div>
+<div class="section">
+<h3>Test if a domain exists<a name="Test_if_a_domain_exists"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/domains/domainName
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The domain exists</li>
+
+<li>404: The domain does not exist</li>
+
+<li>500: Internal error while accessing the domains</li>
+</ul></div>
+<div class="section">
+<h3>Get the list of domains<a name="Get_the_list_of_domains"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/domains
+</pre></div>
+<p>Possible response:</p>
+
+<div class="source">
+<pre>{"domains":["domain1", "domain2"]}
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>200: The domain list was successfully retrieved</li>
+
+<li>500: Internal error while accessing the domains</li>
+</ul></div></div>
+<div class="section">
+<h2>Administrating users<a name="Administrating_users"></a></h2>
+<div class="section">
+<h3>Create a user<a name="Create_a_user"></a></h3>
+
+<div class="source">
+<pre>curl -XPUT http://ip:port/users/usernameToBeUsed -d '{"password":"passwordToBeUsed"}'
+</pre></div>
+<p>Resource name usernameToBeUsed:</p>
+
+<ul>
+
+<li>can not be null or empty</li>
+
+<li>can not be more than 255 characters</li>
+
+<li>can not contain ‘/’</li>
+</ul>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The user was successfully created</li>
+
+<li>400: The user name or the payload is invalid</li>
+
+<li>409: Conflict: A concurrent modification make that query to fail</li>
+
+<li>500: Internal error while adding the user</li>
+</ul>
+<p>Note: if the user is already, its password will be updated.</p></div>
+<div class="section">
+<h3>Updating a user password<a name="Updating_a_user_password"></a></h3>
+<p>Same than Create, but a user need to exist.</p>
+<p>If the user do not exist, then it will be created.</p></div>
+<div class="section">
+<h3>Deleting a user<a name="Deleting_a_user"></a></h3>
+
+<div class="source">
+<pre>curl -XDELETE http://ip:port/users/userToBeDeleted
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The user was successfully deleted</li>
+
+<li>500: Internal error while deleting the user</li>
+</ul></div>
+<div class="section">
+<h3>Retrieving the user list<a name="Retrieving_the_user_list"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/users
+</pre></div>
+<p>The answer looks like:</p>
+
+<div class="source">
+<pre>[{"username":"username@domain-jmapauthentication.tld"},{"username":"username@domain.tld"}]
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>200: The user name list was successfully retrieved</li>
+
+<li>500: Internal error while retrieving the users</li>
+</ul></div></div>
+<div class="section">
+<h2>Administrating user mailboxes<a name="Administrating_user_mailboxes"></a></h2>
+<div class="section">
+<h3>Creating a mailbox<a name="Creating_a_mailbox"></a></h3>
+
+<div class="source">
+<pre>curl -XPUT http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated
+</pre></div>
+<p>Resource name usernameToBeUsed should be an existing user Resource name mailboxNameToBeCreated should not be empty, nor contain # & % * characters.</p>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The mailbox now exists on the server</li>
+
+<li>400: Invalid mailbox name</li>
+
+<li>404: The user name does not exist</li>
+
+<li>500: Internal error</li>
+</ul>
+<p>To create nested mailboxes, for instance a work mailbox inside the INBOX mailbox, people should use the . separator. The sample query is:</p>
+
+<div class="source">
+<pre>curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes/INBOX.work
+</pre></div></div>
+<div class="section">
+<h3>Deleting a mailbox and its children<a name="Deleting_a_mailbox_and_its_children"></a></h3>
+
+<div class="source">
+<pre>curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated
+</pre></div>
+<p>Resource name usernameToBeUsed should be an existing user Resource name mailboxNameToBeCreated should not be empty</p>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The mailbox now does not exist on the server</li>
+
+<li>400: Invalid mailbox name</li>
+
+<li>404: The user name does not exist</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Testing existence of a mailbox<a name="Testing_existence_of_a_mailbox"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/users/usernameToBeUsed/mailboxes/mailboxNameToBeCreated
+</pre></div>
+<p>Resource name usernameToBeUsed should be an existing user Resource name mailboxNameToBeCreated should not be empty</p>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The mailbox exists</li>
+
+<li>400: Invalid mailbox name</li>
+
+<li>404: The user name does not exist, the mailbox does not exist</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Listing user mailboxes<a name="Listing_user_mailboxes"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/users/usernameToBeUsed/mailboxes
+</pre></div>
+<p>The answer looks like:</p>
+
+<div class="source">
+<pre>[{"mailboxName":"INBOX"},{"mailboxName":"outbox"}]
+</pre></div>
+<p>Resource name usernameToBeUsed should be an existing user</p>
+<p>Response codes:</p>
+
+<ul>
+
+<li>200: The mailboxes list was successfully retrieved</li>
+
+<li>404: The user name does not exist</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Deleting user mailboxes<a name="Deleting_user_mailboxes"></a></h3>
+
+<div class="source">
+<pre>curl -XDELETE http://ip:port/users/usernameToBeUsed/mailboxes
+</pre></div>
+<p>Resource name usernameToBeUsed should be an existing user</p>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: The user do not have mailboxes anymore</li>
+
+<li>404: The user name does not exist</li>
+
+<li>500: Internal error</li>
+</ul></div></div>
+<div class="section">
+<h2>Administrating quotas<a name="Administrating_quotas"></a></h2>
+<p>A quota with a value of -1 means unlimited</p>
+<div class="section">
+<h3>Reading per quotaroot mail count limitation<a name="Reading_per_quotaroot_mail_count_limitation"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/quota/count
+</pre></div>
+<p>The answer looks like:</p>
+
+<div class="source">
+<pre>100000
+</pre></div>
+<p>Response codes: - 200: Nothing special - 500: Internal error</p></div>
+<div class="section">
+<h3>Updating per quotaroot mail count limitation<a name="Updating_per_quotaroot_mail_count_limitation"></a></h3>
+
+<div class="source">
+<pre>curl -XPUT http://ip:port/quota/count -d '1024000000'
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: Value updated</li>
+
+<li>400: The body is not a positive integer</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Removing per quotaroot mail count limitation<a name="Removing_per_quotaroot_mail_count_limitation"></a></h3>
+<p>It removes the limitation, and the quota becomes UNILIMITED.</p>
+
+<div class="source">
+<pre>curl -XDELETE http://ip:port/quota/count
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: Value updated to UNLIMITED</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Reading per quotaroot size limitation<a name="Reading_per_quotaroot_size_limitation"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/quota/size
+</pre></div>
+<p>The answer looks like:</p>
+
+<div class="source">
+<pre>100000
+</pre></div>
+<p>It represent the allowed Byte count of the mailboxes belonging to this quotaroot.</p>
+<p>Response codes:</p>
+
+<ul>
+
+<li>200: Nothing special</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Updating per quotaroot size limitation<a name="Updating_per_quotaroot_size_limitation"></a></h3>
+
+<div class="source">
+<pre>curl -XPUT http://ip:port/quota/size -d '1024000000'
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: Value updated</li>
+
+<li>400: The body is not a positive integer</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Removing per quotaroot size limitation<a name="Removing_per_quotaroot_size_limitation"></a></h3>
+<p>It removes the limitation, and the quota becomes UNILIMITED.</p>
+
+<div class="source">
+<pre>curl -XDELETE http://ip:port/quota/size
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: Value updated to UNLIMITED</li>
+
+<li>500: Internal error</li>
+</ul></div>
+<div class="section">
+<h3>Managing count and size at the same time<a name="Managing_count_and_size_at_the_same_time"></a></h3>
+
+<div class="source">
+<pre>curl -XGET http://ip:port/quota/
+</pre></div>
+<p>Will return:</p>
+
+<div class="source">
+<pre>{"count":52,"size":42}
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>200: Success</li>
+
+<li>500: Internal error</li>
+</ul>
+<p>You can also write the value the same way:</p>
+
+<div class="source">
+<pre>curl -XPUT http://ip:port/quota/ -d '{"count":52,"size":42}'
+</pre></div>
+<p>Response codes:</p>
+
+<ul>
+
+<li>204: Success</li>
+
+<li>400: Invalid JSON, or numbers are less than -1.</li>
+
+<li>500: Internal error</li>
+</ul></div></div>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">Copyright © 2006-2017
+ <a href="https://www.apache.org/">The Apache Software Foundation</a>.
+ All Rights Reserved.
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/manage.html
----------------------------------------------------------------------
diff --git a/content/server/manage.html b/content/server/manage.html
index df9ef25..8bfa62d 100644
--- a/content/server/manage.html
+++ b/content/server/manage.html
@@ -18,7 +18,7 @@
under the License.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at 2017-06-08 -->
+<!-- Generated by Apache Maven Doxia at 2017-06-14 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -34,10 +34,10 @@
@import url("../js/fancybox/jquery.fancybox-1.3.4.css");
</style>
<script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
- <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
+ <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170608" />
+ <meta name="Date-Revision-yyyymmdd" content="20170614" />
<meta http-equiv="Content-Language" content="en" />
<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
@@ -77,7 +77,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-06-08</span>
+ <span id="publishDate">Last Published: 2017-06-14</span>
</div>
<div class="xright"> <a href="../index.html" title="Home">Home</a>
|
@@ -124,22 +124,22 @@
<a href="../server/features.html" title="1. Features">1. Features</a>
</li>
<li class="none">
- <a href="../server/install.html" title="2. Install James">2. Install James</a>
+ <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a>
+ </li>
+ <li class="none">
+ <a href="../server/install.html" title="3. Install James">3. Install James</a>
</li>
<li class="collapsed">
- <a href="../server/config.html" title="3. Configure James">3. Configure James</a>
+ <a href="../server/config.html" title="4. Configure James">4. Configure James</a>
</li>
- <li class="expanded">
- <strong>4. Manage</strong>
+ <li class="expanded">
+ <strong>5. Manage</strong>
<ul>
<li class="none">
- <a href="../server/manage-domains.html" title="Domains">Domains</a>
- </li>
- <li class="none">
- <a href="../server/manage-users.html" title="Users">Users</a>
+ <a href="../server/manage-webadmin.html" title="WebAdmin">WebAdmin</a>
</li>
<li class="none">
- <a href="../server/manage-recipientrewrite.html" title="Recipient Rewrite">Recipient Rewrite</a>
+ <a href="../server/manage-cli.html" title="Command line">Command line</a>
</li>
<li class="none">
<a href="../server/metrics.html" title="Metrics">Metrics</a>
@@ -147,13 +147,13 @@
</ul>
</li>
<li class="collapsed">
- <a href="../server/monitor.html" title="5. Monitor">5. Monitor</a>
+ <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a>
</li>
<li class="collapsed">
- <a href="../server/upgrade.html" title="6. Upgrade">6. Upgrade</a>
+ <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a>
</li>
<li class="collapsed">
- <a href="../server/dev.html" title="7. Developers Corner">7. Developers Corner</a>
+ <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a>
</li>
</ul>
</li>
@@ -252,7 +252,7 @@
<div class="section">
<h2>Manage James Server<a name="Manage_James_Server"></a></h2>
-<!-- -->
+
<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
@@ -264,107 +264,18 @@
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 style="list-style-type: decimal">
-
-<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>
-
-
-<div class="section">
-<h3>Manage via CLI<a name="Manage_via_CLI"></a></h3>
-
-
-<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>
-
-
-<div class="source">
-<pre>
- 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
- containsdomain
- </pre></div>
-
-
-<p>Note the address and port defined in conf/jmx.properties (default is jmx.address=127.0.0.1 and jmx.port=9999)</p>
+<p>You are now ready to manage Some internal James data-structure.</p>
- </div>
-
-
-<div class="section">
-<h3>Manage via JMX<a name="Manage_via_JMX"></a></h3>
-
-
-<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><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></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><tt>service:jmx:rmi://localhost/jndi/rmi://localhost:999/jmxrmi </tt></p>
-
-
-<p>To manage through a firewall, you will have to take care to random ports creation (read
- <a class="externalLink" href="http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html">JMX agent</a>
- ,
- <a class="externalLink" href="http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall">JMX through firewall</a>
- and
- <a class="externalLink" 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" alt="" /></p>
+<ul>You can do this:
+
+<li>Using <a href="manage-cli.html">The command line client</a></li>
+
+<li>Using <a href="manage-webadmin.html">The web REST interface</a> (Guice only)</li>
+
+<li>Using <a href="manage-jmx.html">The JMX interface</a> (Experimental)</li>
+ </ul>
- </div>
-
</div>
http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/metrics.html
----------------------------------------------------------------------
diff --git a/content/server/metrics.html b/content/server/metrics.html
index b2add2a..b268015 100644
--- a/content/server/metrics.html
+++ b/content/server/metrics.html
@@ -18,7 +18,7 @@
under the License.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at 2017-06-08 -->
+<!-- Generated by Apache Maven Doxia at 2017-06-14 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -34,10 +34,10 @@
@import url("../js/fancybox/jquery.fancybox-1.3.4.css");
</style>
<script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
- <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
+ <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170608" />
+ <meta name="Date-Revision-yyyymmdd" content="20170614" />
<meta http-equiv="Content-Language" content="en" />
<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
@@ -77,7 +77,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-06-08</span>
+ <span id="publishDate">Last Published: 2017-06-14</span>
</div>
<div class="xright"> <a href="../index.html" title="Home">Home</a>
|
@@ -124,22 +124,22 @@
<a href="../server/features.html" title="1. Features">1. Features</a>
</li>
<li class="none">
- <a href="../server/install.html" title="2. Install James">2. Install James</a>
+ <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a>
+ </li>
+ <li class="none">
+ <a href="../server/install.html" title="3. Install James">3. Install James</a>
</li>
<li class="collapsed">
- <a href="../server/config.html" title="3. Configure James">3. Configure James</a>
+ <a href="../server/config.html" title="4. Configure James">4. Configure James</a>
</li>
- <li class="expanded">
- <a href="../server/manage.html" title="4. Manage">4. Manage</a>
+ <li class="expanded">
+ <a href="../server/manage.html" title="5. Manage">5. Manage</a>
<ul>
<li class="none">
- <a href="../server/manage-domains.html" title="Domains">Domains</a>
- </li>
- <li class="none">
- <a href="../server/manage-users.html" title="Users">Users</a>
+ <a href="../server/manage-webadmin.html" title="WebAdmin">WebAdmin</a>
</li>
<li class="none">
- <a href="../server/manage-recipientrewrite.html" title="Recipient Rewrite">Recipient Rewrite</a>
+ <a href="../server/manage-cli.html" title="Command line">Command line</a>
</li>
<li class="none">
<strong>Metrics</strong>
@@ -147,13 +147,13 @@
</ul>
</li>
<li class="collapsed">
- <a href="../server/monitor.html" title="5. Monitor">5. Monitor</a>
+ <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a>
</li>
<li class="collapsed">
- <a href="../server/upgrade.html" title="6. Upgrade">6. Upgrade</a>
+ <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a>
</li>
<li class="collapsed">
- <a href="../server/dev.html" title="7. Developers Corner">7. Developers Corner</a>
+ <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/james-site/blob/c03e4dfc/content/server/monitor-folders.html
----------------------------------------------------------------------
diff --git a/content/server/monitor-folders.html b/content/server/monitor-folders.html
index 65b23e8..f3d64bf 100644
--- a/content/server/monitor-folders.html
+++ b/content/server/monitor-folders.html
@@ -18,7 +18,7 @@
under the License.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at 2017-06-08 -->
+<!-- Generated by Apache Maven Doxia at 2017-06-14 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -34,10 +34,10 @@
@import url("../js/fancybox/jquery.fancybox-1.3.4.css");
</style>
<script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
- <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
+ <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
<link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170608" />
+ <meta name="Date-Revision-yyyymmdd" content="20170614" />
<meta http-equiv="Content-Language" content="en" />
<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
@@ -77,7 +77,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-06-08</span>
+ <span id="publishDate">Last Published: 2017-06-14</span>
</div>
<div class="xright"> <a href="../index.html" title="Home">Home</a>
|
@@ -124,16 +124,19 @@
<a href="../server/features.html" title="1. Features">1. Features</a>
</li>
<li class="none">
- <a href="../server/install.html" title="2. Install James">2. Install James</a>
+ <a href="../server/packaging.html" title="2. Packaging">2. Packaging</a>
+ </li>
+ <li class="none">
+ <a href="../server/install.html" title="3. Install James">3. Install James</a>
</li>
<li class="collapsed">
- <a href="../server/config.html" title="3. Configure James">3. Configure James</a>
+ <a href="../server/config.html" title="4. Configure James">4. Configure James</a>
</li>
- <li class="collapsed">
- <a href="../server/manage.html" title="4. Manage">4. Manage</a>
+ <li class="collapsed">
+ <a href="../server/manage.html" title="5. Manage">5. Manage</a>
</li>
<li class="expanded">
- <a href="../server/monitor.html" title="5. Monitor">5. Monitor</a>
+ <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a>
<ul>
<li class="none">
<a href="../server/monitor-logging.html" title="Logging">Logging</a>
@@ -147,10 +150,10 @@
</ul>
</li>
<li class="collapsed">
- <a href="../server/upgrade.html" title="6. Upgrade">6. Upgrade</a>
+ <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a>
</li>
<li class="collapsed">
- <a href="../server/dev.html" title="7. Developers Corner">7. Developers Corner</a>
+ <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a>
</li>
</ul>
</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org