You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-dev@james.apache.org by rd...@apache.org on 2009/08/31 14:54:24 UTC

svn commit: r809563 [18/24] - in /james/site/trunk/www: ./ maven-skin/ maven-skin/css/ maven-skin/images/logos/ parent/ parent/css/ parent/images/logos/ server/ server/2.2.0/ server/2.2.0/css/ server/archive/

Modified: james/site/trunk/www/server/2.2.0/using_database.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/server/2.2.0/using_database.html?rev=809563&r1=809562&r2=809563&view=diff
==============================================================================
--- james/site/trunk/www/server/2.2.0/using_database.html (original)
+++ james/site/trunk/www/server/2.2.0/using_database.html Mon Aug 31 12:54:19 2009
@@ -11,26 +11,25 @@
 
 <html>
   <head>
-    <title>James Server 2.2.0 - 
-  James 2.1 - Using a Database</title>
+    <title>James Server 2.2.0 - James 2.1 - Using a Database</title>
     <style type="text/css" media="all">
       @import url("./css/maven-base.css");
       @import url("./css/maven-theme.css");
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
       </head>
   <body class="composite">
     <div id="banner">
                   <a href="http://james.apache.org/server/" id="bannerLeft">
     
-                                            <img src="images/james-server-logo.gif" alt="" />
+                                            <img src="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0" alt="" />
     
             </a>
                         <a href="http://www.apache.org/" id="bannerRight">
     
-                                            <img src="images/asf-logo-reduced.gif" alt="" />
+                                            <img src="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0" alt="" />
     
             </a>
             <div class="clear">
@@ -46,25 +45,25 @@
   
   
             <div class="xleft">
-        Last Published: 08/03/2009
+        Last Published: 08/31/2009
                       </div>
-            <div class="xright">      <a href="../../../../../people.apache.org/www/james.apache.org/index.html">JAMES Project</a>
+            <div class="xright">      <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">JAMES Project</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/imap/index.html">IMAP</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">IMAP</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/jsieve/index.html">JSieve</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">JSieve</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/jspf/index.html">jSPF</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">jSPF</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/mime4j/index.html">Mime4J</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mime4J</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/mailet/index.html">Mailets</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mailets</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/mpt/index.html">MPT</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">MPT</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/server/index.html">Server</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server</a>
           |
-          <a href="../../../../../people.apache.org/www/james.apache.org/postage/index.html">Postage</a>
+          <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Postage</a>
           
   
 
@@ -90,11 +89,11 @@
         <ul>
               
     <li class="none">
-              <a href="../index.html">Overview</a>
+              <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Overview</a>
         </li>
               
     <li class="none">
-              <a href="../design_objectives.html">Objectives</a>
+              <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Objectives</a>
         </li>
               
           
@@ -102,17 +101,17 @@
       
               
         <li class="expanded">
-              <a href="../FAQ.html">James FAQ</a>
+              <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">James FAQ</a>
                 <ul>
                   
     <li class="none">
-              <a href="../james_and_sendmail.html">James and Sendmail</a>
+              <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">James and Sendmail</a>
         </li>
               </ul>
         </li>
               
     <li class="none">
-              <a href="../rfclist.html">Useful RFCs</a>
+              <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Useful RFCs</a>
         </li>
               
     <li class="none">
@@ -127,149 +126,149 @@
         <ul>
               
     <li class="none">
-              <a href="summary.html">Summary</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Summary</a>
         </li>
               
     <li class="none">
-              <a href="spoolmanager.html">SpoolManager</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SpoolManager</a>
         </li>
               
     <li class="none">
-              <a href="repositories.html">Repositories</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Repositories</a>
         </li>
               
     <li class="none">
-              <a href="mailet_api.html">The Mailet API</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">The Mailet API</a>
         </li>
           </ul>
           <h5>How to...</h5>
         <ul>
               
     <li class="none">
-              <a href="build_instructions.html">Build James</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Build James</a>
         </li>
               
     <li class="none">
-              <a href="installation_instructions.html">Install James</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Install James</a>
         </li>
           </ul>
           <h5>Configuration</h5>
         <ul>
               
     <li class="none">
-              <a href="dns_configuration.html">DNS Server</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">DNS Server</a>
         </li>
               
     <li class="none">
-              <a href="pop3_configuration.html">POP3 Server</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">POP3 Server</a>
         </li>
               
     <li class="none">
-              <a href="smtp_configuration.html">SMTP Server</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SMTP Server</a>
         </li>
               
     <li class="none">
-              <a href="nntp_configuration.html">NNTP Server</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">NNTP Server</a>
         </li>
               
     <li class="none">
-              <a href="fetchpop_configuration.html">FetchPOP</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">FetchPOP</a>
         </li>
               
     <li class="none">
-              <a href="fetchmail_configuration.html">FetchMail</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">FetchMail</a>
         </li>
               
     <li class="none">
-              <a href="remotemanager_configuration.html">RemoteManager</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">RemoteManager</a>
         </li>
               
     <li class="none">
-              <a href="repositories.html">Repository</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Repository</a>
         </li>
               
     <li class="none">
-              <a href="spoolmanager_configuration.html">SpoolManager</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SpoolManager</a>
         </li>
               
     <li class="none">
-              <a href="serverwide_configuration.html">Server-wide</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server-wide</a>
         </li>
               
     <li class="none">
-              <a href="adding_users.html">Adding Users</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Adding Users</a>
         </li>
               
     <li class="none">
-              <a href="provided_matchers.html">Provided Matchers</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Provided Matchers</a>
         </li>
               
     <li class="none">
-              <a href="provided_mailets.html">Provided Mailets</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Provided Mailets</a>
         </li>
           </ul>
           <h5>Common Configurations</h5>
         <ul>
               
     <li class="none">
-              <a href="smtp_auth.html">Using SMTP AUTH</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using SMTP AUTH</a>
         </li>
               
     <li class="none">
-              <strong>Using a Database with James</strong>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using a Database with James</a>
         </li>
               
     <li class="none">
-              <a href="usingTLS.html">Using TLS/SSL</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using TLS/SSL</a>
         </li>
               
     <li class="none">
-              <a href="mailing_lists.html">Creating Mailing Lists</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Creating Mailing Lists</a>
         </li>
           </ul>
           <h5>Customization</h5>
         <ul>
               
     <li class="none">
-              <a href="custom_matcher.html">How to write a custom Matcher</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">How to write a custom Matcher</a>
         </li>
               
     <li class="none">
-              <a href="custom_mailet.html">How to write a custom Mailet</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">How to write a custom Mailet</a>
         </li>
           </ul>
           <h5>Project</h5>
         <ul>
               
     <li class="none">
-              <a href="changelog.html">Changelog</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Changelog</a>
         </li>
           </ul>
           <h5>Documentation</h5>
         <ul>
               
     <li class="none">
-              <a href="../head/index.html">Development 3.0</a>
+              <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Development 3.0</a>
         </li>
               
     <li class="none">
-              <a href="../2.3.2/index.html">Candidate 2.3.2</a>
+              <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Candidate 2.3.2</a>
         </li>
               
     <li class="none">
-              <a href="../2.3.1/index.html">Server 2.3.1</a>
+              <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.3.1</a>
         </li>
               
     <li class="none">
-              <a href="../2.3.0/index.html">Server 2.3.0</a>
+              <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.3.0</a>
         </li>
               
     <li class="none">
-              <a href="../2.2.0/index.html">Server 2.2.0</a>
+              <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.2.0</a>
         </li>
               
     <li class="none">
-              <a href="../archive/document_archive.html">Archive</a>
+              <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Archive</a>
         </li>
           </ul>
           <h5>Download</h5>
@@ -280,7 +279,7 @@
         </li>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/download.cgi">Releases</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Releases</a>
         </li>
               
     <li class="none">
@@ -295,23 +294,23 @@
         <ul>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/index.html">Overview</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Overview</a>
         </li>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/newsarchive.html">News</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">News</a>
         </li>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/mail.html">Mailing Lists</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mailing Lists</a>
         </li>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/contribute.html">Contributing</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Contributing</a>
         </li>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/guidelines.html">Project Guidelines</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Project Guidelines</a>
         </li>
               
     <li class="none">
@@ -319,11 +318,11 @@
         </li>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/weare.html">Who We Are</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Who We Are</a>
         </li>
               
     <li class="none">
-              <a href="../../../../../people.apache.org/www/james.apache.org/license.html">License</a>
+              <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">License</a>
         </li>
           </ul>
           <h5>Apache Software Foundation</h5>
@@ -363,15 +362,10 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        
-
- 
-
-
-<a name="Database Configuration"></a><div class="section"><h2>Database Configuration</h2>
+        <div class="section"><h2><a name="Database_Configuration"></a>Database Configuration</h2>
 <p>James has the capacity to use a JDBC-compatible database for storage of both message and user 
 data.  This section explains how to configure James to utilize a database for storage.</p>
-<a name="Requirements"></a><div class="section"><h3>Requirements</h3>
+<div class="section"><h3><a name="Requirements"></a>Requirements</h3>
 <p>Using James with a database backend has certain requirements.  Database configuration is 
 extremely vendor-specific, so we can only state the requirements in general terms.</p>
 <p>There must be a database instance accessible from the James server.  An account with appropriate
@@ -383,7 +377,7 @@
 James to use it as a repository.  This will help ensure that configuration issues are properly
 identified.</p>
 </div>
-<a name="Connection Configuration"></a><div class="section"><h3>Connection Configuration</h3>
+<div class="section"><h3><a name="Connection_Configuration"></a>Connection Configuration</h3>
 <p>Configuring the Phoenix container to work with JDBC is the first step in enabling James database support.</p>
 <p>First, Phoenix must be able to load the JDBC classes.  To make these classes available to Phoenix, place the 
 jar/zip files for the JDBC driver in the lib subdirectory of the James installation directory.  Any additional 
@@ -399,53 +393,45 @@
 must be unique to each <strong>data-source</strong> element.  It is this <strong>name</strong> that will 
 be used to specify the database connection in other parts of the config.xml file.</p>
 <p>The <strong>data-source</strong> element has five children, all of whom are required.
-<ul>
-<li><strong>driver</strong> - The class name of the database driver to be used.</li>
+<ul><li><strong>driver</strong> - The class name of the database driver to be used.</li>
 <li><strong>dburl</strong> - The JDBC connection URL for your database/driver.</li>
 <li><strong>user</strong> - The user id of the database account to be used by this connection.</li>
 <li><strong>password</strong> - The password of the database account to be used by this connection.</li>
 <li><strong>max</strong> - The maximum number of JDBC connections to be used concurrently by this data-source.</li>
 </ul>
-
-
-Generally, you simply configure these entries in the config.xml
+</p>
+<p>Generally, you simply configure these entries in the config.xml
 file, which are commented, in order to use a database with James.  You
 would then use the db: or dbfile: prefix instead of the file: prefix
 for a particular repository.  You are currently free to mix and match
 your use of these different storage types for different repositories.
 See <a href="repositories.html">Repository Configuration</a> for
-more details.  A sample configuration is described below.
-
+more details.  A sample configuration is described below.</p>
 </div>
-<a name="SQL Statement Configuration"></a><div class="section"><h3>SQL Statement Configuration</h3>
-The precise SQL statements used by James to modify and view data stored in the database are specified in
+<div class="section"><h3><a name="SQL_Statement_Configuration"></a>SQL Statement Configuration</h3>
+<p>The precise SQL statements used by James to modify and view data stored in the database are specified in
 an external configuration file.  The sqlResources.xml file 
 (which can be found in the apps/james/conf directory) is a sample configuration file that contains the SQL
 statements used by James.  The purpose of each of these statements, as well as the repository with which 
-they are associated, is documented in situ.
-
-If you are using a SQL database with unusual SQL commands or data types, you may
+they are associated, is documented in situ.</p>
+<p>If you are using a SQL database with unusual SQL commands or data types, you may
 need to add special entries to this file.  The James team
 does try to keep sqlResources.xml updated, so if you do run into a
-special case, please let us know.
-
-Also, if the database tables are not created a priori, but rather are to be created by James
+special case, please let us know.</p>
+<p>Also, if the database tables are not created a priori, but rather are to be created by James
 upon startup, special attention should be paid to the &quot;create table&quot; statements in this file.  Such
-statements tend to be both very database and very database instance specific.
+statements tend to be both very database and very database instance specific.</p>
 </div>
-<a name="Sample James Configuration"></a><div class="section"><h3>Sample James Configuration</h3>
-
+<div class="section"><h3><a name="Sample_James_Configuration"></a>Sample James Configuration</h3>
 <p>The config.xml file has commented out examples for MySQL and
 MSSQL data sources, and for each of the standard repositories.  For
 example, to use MySQL, you would uncomment and adjust the following
 data-source element.</p>
-
 <p>You must create the database, in this case named
 <strong>mail</strong>, the user, and assign the user privileges.
 You may create the tables before running James or, if you so choose, James 
 will automatically create the tables it needs.  In the latter case the user 
 must have table creation privileges.</p>
-
 <div class="source"><pre>
 &lt;data-source name=&quot;maildb&quot; class=&quot;org.apache.james.util.mordred.JdbcDataSource&quot;&gt;
   &lt;driver&gt;org.gjt.mm.mysql.Driver&lt;/driver&gt;
@@ -454,29 +440,27 @@
   &lt;password&gt;password&lt;/password&gt;
   &lt;max&gt;20&lt;/max&gt;
 &lt;/data-source&gt;
-</pre></div>
-
+</pre>
+</div>
 <p>Once the data-source element has been created, it can be referenced elsewhere in the config.xml 
 file.  For example, the following element tells James to use the maildb data-source and dbfile 
 storage mechanism for the message spool:</p>
-
 <div class="source"><pre>
 &lt;spoolRepository&gt;
    &lt;repository destinationURL=&quot;dbfile://maildb/spool/spool&quot; type=&quot;SPOOL&quot;/&gt;
 &lt;/spoolRepository&gt;
-</pre></div>
-
+</pre>
+</div>
 <p>The following element tells James to store mailboxes in a the maildb data-source:</p>
-
 <div class="source"><pre>
 &lt;inboxRepository&gt;
    &lt;repository destinationURL=&quot;db://maildb/inbox/&quot; type=&quot;MAIL&quot;/&gt;
 &lt;/inboxRepository&gt;
-</pre></div>
-
+</pre>
+</div>
 <p>The configuration file contains further examples.</p>
 </div>
-<a name="Known Issues"></a><div class="section"><h3>Known Issues</h3>
+<div class="section"><h3><a name="Known_Issues"></a>Known Issues</h3>
 <p>There are some vendor-specific subtleties in using databases with James that have been observed 
 by some users.  These issues (and methods to resolve them) are recorded on the 
 <a href="../FAQ.html">James FAQ</a> as they are reported.  Please consult the FAQ if you encounter any 
@@ -484,7 +468,6 @@
 </div>
 </div>
 
-
       </div>
     </div>
     <div class="clear">

Modified: james/site/trunk/www/server/FAQ.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/server/FAQ.html?rev=809563&r1=809562&r2=809563&view=diff
==============================================================================
--- james/site/trunk/www/server/FAQ.html (original)
+++ james/site/trunk/www/server/FAQ.html Mon Aug 31 12:54:19 2009
@@ -11,28 +11,26 @@
 
 <html>
   <head>
-    <title>James Server - 
-    Frequently Asked Questions</title>
+    <title>James Server - Frequently Asked Questions</title>
     <style type="text/css" media="all">
       @import url("./css/maven-base.css");
       @import url("./css/maven-theme.css");
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-          <meta name="author" content="
-    James Project Web Team" />
-        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+          <meta name="author" content="James Project Web Team" />
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
       </head>
   <body class="composite">
     <div id="banner">
                   <a href="http://james.apache.org/server/" id="bannerLeft">
     
-                                            <img src="images/james-server-logo.gif" alt="" />
+                                            <img src="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server" alt="" />
     
             </a>
                         <a href="http://www.apache.org/" id="bannerRight">
     
-                                            <img src="images/asf-logo-reduced.gif" alt="" />
+                                            <img src="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server" alt="" />
     
             </a>
             <div class="clear">
@@ -48,25 +46,25 @@
   
   
             <div class="xleft">
-        Last Published: 08/03/2009
+        Last Published: 08/31/2009
                       </div>
-            <div class="xright">      <a href="../index.html">JAMES Project</a>
+            <div class="xright">      <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">JAMES Project</a>
           |
-          <a href="../imap/index.html">IMAP</a>
+          <a href="../../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">IMAP</a>
           |
-          <a href="../jsieve/index.html">JSieve</a>
+          <a href="../../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">JSieve</a>
           |
-          <a href="../jspf/index.html">jSPF</a>
+          <a href="../../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">jSPF</a>
           |
-          <a href="../mime4j/index.html">Mime4J</a>
+          <a href="../../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Mime4J</a>
           |
-          <a href="../mailet/index.html">Mailets</a>
+          <a href="../../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Mailets</a>
           |
-          <a href="../mpt/index.html">MPT</a>
+          <a href="../../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">MPT</a>
           |
-          <a href="../server/index.html">Server</a>
+          <a href="../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Server</a>
           |
-          <a href="../postage/index.html">Postage</a>
+          <a href="../../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Postage</a>
           
   
 
@@ -92,29 +90,29 @@
         <ul>
               
     <li class="none">
-              <a href="index.html">Overview</a>
+              <a href="../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Overview</a>
         </li>
               
     <li class="none">
-              <a href="design_objectives.html">Objectives</a>
+              <a href="../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Objectives</a>
         </li>
               
           
               
       
               
-            <li class="expanded">
-              <strong>James FAQ</strong>
+        <li class="expanded">
+              <a href="../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">James FAQ</a>
                 <ul>
                   
     <li class="none">
-              <a href="james_and_sendmail.html">James and Sendmail</a>
+              <a href="../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">James and Sendmail</a>
         </li>
               </ul>
         </li>
               
     <li class="none">
-              <a href="rfclist.html">Useful RFCs</a>
+              <a href="../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Useful RFCs</a>
         </li>
               
     <li class="none">
@@ -129,27 +127,27 @@
         <ul>
               
     <li class="none">
-              <a href="head/index.html">Development 3.0</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Development 3.0</a>
         </li>
               
     <li class="none">
-              <a href="2.3.2/index.html">Candidate 2.3.2</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Candidate 2.3.2</a>
         </li>
               
     <li class="none">
-              <a href="2.3.1/index.html">Server 2.3.1</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Server 2.3.1</a>
         </li>
               
     <li class="none">
-              <a href="2.3.0/index.html">Server 2.3.0</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Server 2.3.0</a>
         </li>
               
     <li class="none">
-              <a href="2.2.0/index.html">Server 2.2.0</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Server 2.2.0</a>
         </li>
               
     <li class="none">
-              <a href="archive/document_archive.html">Archive</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Archive</a>
         </li>
           </ul>
           <h5>Download</h5>
@@ -160,7 +158,7 @@
         </li>
               
     <li class="none">
-              <a href="../download.cgi">Releases</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Releases</a>
         </li>
               
     <li class="none">
@@ -175,23 +173,23 @@
         <ul>
               
     <li class="none">
-              <a href="../index.html">Overview</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Overview</a>
         </li>
               
     <li class="none">
-              <a href="../newsarchive.html">News</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">News</a>
         </li>
               
     <li class="none">
-              <a href="../mail.html">Mailing Lists</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Mailing Lists</a>
         </li>
               
     <li class="none">
-              <a href="../contribute.html">Contributing</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Contributing</a>
         </li>
               
     <li class="none">
-              <a href="../guidelines.html">Project Guidelines</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Project Guidelines</a>
         </li>
               
     <li class="none">
@@ -199,11 +197,11 @@
         </li>
               
     <li class="none">
-              <a href="../weare.html">Who We Are</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">Who We Are</a>
         </li>
               
     <li class="none">
-              <a href="../license.html">License</a>
+              <a href="../../opt/development/workspace/james-project/../../../../people.apache.org/www/james.apache.org/server">License</a>
         </li>
           </ul>
           <h5>Apache Software Foundation</h5>
@@ -243,91 +241,48 @@
     </div>
     <div id="bodyColumn">
       <div id="contentBox">
-        
-  
-  
-    <a name="This FAQ"></a><div class="section"><h2>This FAQ</h2>
-      <P>This is a living document that provides answers to common questions about James, installation, configuration, admin and running not already answered in the documentation. Last Updated January 2005.</P>
-    </div>
-    <a name="Questions"></a><div class="section"><h2>Questions</h2>
-      <p>
-        <ul>
-          <li>
-            <a href="#1">How do I set up a mailing list</a>
-          </li>
-          <li>
-            <a href="#2">Is James an Open Relay for Spam?</a>
-          </li>
-          <li>
-            <a href="#3">I can send messages to James, but nobody is receiving them.  What do I do?</a>
-          </li>
-          <li>
-            <a href="#4">I can send people messages via James, but nobody can send me messages.  What do I do?</a>
-          </li>
-          <li>
-            <a href="#5">I'm trying to debug messages that James is trying to deliver.  Where should I look?</a>
-          </li>
-          <li>
-            <a href="#6">What about IMAP support?</a>
-          </li>
-          <li>
-            <a href="#7">What about support virtual hosting?</a>
-          </li>
-          <li>
-            <a href="#8">Where do I stick classes and jars?</a>
-          </li>
-          <li>
-            <a href="#9">How do I upgrade to a newer version of James?</a>
-          </li>
-          <li>
-            <a href="#10">How do I run James as an NT/2k/XP service?</a>
-          </li>
-          <li>
-            <a href="#11">Why isn't my mailet making changes to a MimeMessage?</a>
-          </li>
-          <li>
-            <a href="#12">How to remove unneeded services like NNTP, POP3?</a>
-          </li>
-          <li>
-            <a href="#13">How can I contribute to James?</a>
-          </li>
-          <li>
-            <a href="#14">How can I make sendmail route local mail (or all mail) through James on the same machine?</a>
-          </li>
-          <li>
-            <a href="#15">I am using Microsoft's SQL Type 4 JDBC Driver, why do I get a &quot;Can't start manual transaction mode because there are cloned connections&quot; exception?</a>
-          </li>
-          <li>
-            <a href="#16">I am using James with a MySQL database and I keep getting a &quot;Packet is larger than max_allowed_packet&quot; when receiving large messages despite the fact that my max packet size is configured to be larger than my max message size.  What's going on?</a>
-          </li>
-          <li>
-            <a href="#17">How do I use Subversion to get James source code?</a>
-          </li>
-          <li>
-          <a href="#18">How can I control Sun's JVM DNS Lookup Configuration.</a>
-          </li>
-        </ul>
-      
-    </div>
-    <a name="Answers"></a><div class="section"><h2>Answers</h2>
-      <a name="1"></a>
-      <a name="Would you please teach me how to set up a mailing list"></a><div class="section"><h3>Would you please teach me how to set up a mailing list</h3>
-        James currently (v2.1) includes only the most basic list functionality, users can subscribe and unsubscribe, but there is no moderation of messages or subscriptions
-        To enable a list you need the following in config.xml in the root processor block and above the final mailet block -
-        <div class="source"><pre>
+        <div class="section"><h2><a name="This_FAQ"></a>This FAQ</h2>
+<P>This is a living document that provides answers to common questions about James, installation, configuration, admin and running not already answered in the documentation. Last Updated January 2005.</P></div>
+<div class="section"><h2><a name="Questions"></a>Questions</h2>
+<p><ul><li><a href="#1">How do I set up a mailing list</a></li>
+<li><a href="#2">Is James an Open Relay for Spam?</a></li>
+<li><a href="#3">I can send messages to James, but nobody is receiving them.  What do I do?</a></li>
+<li><a href="#4">I can send people messages via James, but nobody can send me messages.  What do I do?</a></li>
+<li><a href="#5">I'm trying to debug messages that James is trying to deliver.  Where should I look?</a></li>
+<li><a href="#6">What about IMAP support?</a></li>
+<li><a href="#7">What about support virtual hosting?</a></li>
+<li><a href="#8">Where do I stick classes and jars?</a></li>
+<li><a href="#9">How do I upgrade to a newer version of James?</a></li>
+<li><a href="#10">How do I run James as an NT/2k/XP service?</a></li>
+<li><a href="#11">Why isn't my mailet making changes to a MimeMessage?</a></li>
+<li><a href="#12">How to remove unneeded services like NNTP, POP3?</a></li>
+<li><a href="#13">How can I contribute to James?</a></li>
+<li><a href="#14">How can I make sendmail route local mail (or all mail) through James on the same machine?</a></li>
+<li><a href="#15">I am using Microsoft's SQL Type 4 JDBC Driver, why do I get a &quot;Can't start manual transaction mode because there are cloned connections&quot; exception?</a></li>
+<li><a href="#16">I am using James with a MySQL database and I keep getting a &quot;Packet is larger than max_allowed_packet&quot; when receiving large messages despite the fact that my max packet size is configured to be larger than my max message size.  What's going on?</a></li>
+<li><a href="#17">How do I use Subversion to get James source code?</a></li>
+<li><a href="#18">How can I control Sun's JVM DNS Lookup Configuration.</a></li>
+</ul>
+</p>
+</div>
+<div class="section"><h2><a name="Answers"></a>Answers</h2>
+<a name="a1"></a><div class="section"><h3><a name="Would_you_please_teach_me_how_to_set_up_a_mailing_list"></a>Would you please teach me how to set up a mailing list</h3>
+<p>James currently (v2.1) includes only the most basic list functionality, users can subscribe and unsubscribe, but there is no moderation of messages or subscriptions</p>
+<p>To enable a list you need the following in config.xml in the root processor block and above the final mailet block -</p>
+<div class="source"><pre>
 &lt;mailet match=&quot;CommandForListserv=james@localhost&quot;
     class=&quot;AvalonListservManager&quot;&gt;
     &lt;repositoryName&gt;list-james&lt;/repositoryName&gt;
 &lt;/mailet&gt;
-</pre></div>
-        that will intercept the command emails sent to
-<ul>
-            <li>james-on@localhost to subscribe the sender</li>
-            <li>james-off@localhost to unsubscribe the sender</li>
-          </ul>
-        
-        and-
-        <div class="source"><pre>
+</pre>
+</div>
+<p>that will intercept the command emails sent to
+<ul><li>james-on@localhost to subscribe the sender</li>
+<li>james-off@localhost to unsubscribe the sender</li>
+</ul>
+</p>
+<p>and-</p>
+<div class="source"><pre>
 &lt;mailet match=&quot;RecipientIs=james@localhost&quot; class=&quot;AvalonListserv&quot;&gt;
     &lt;membersonly&gt; false &lt;/membersonly&gt;
     &lt;attachmentsallowed&gt; true &lt;/attachmentsallowed&gt;
@@ -335,79 +290,77 @@
     &lt;repositoryName&gt;list-james&lt;/repositoryName&gt;
     &lt;subjectprefix&gt;JamesList&lt;/subjectprefix&gt;
 &lt;/mailet&gt;
-</pre></div>
-        Which will distribute the mail to the current subscribers
-        in addition to the above you need to have a repository configured in the users-store block(usually near the bottom of config.xml) like so (database)-
-        <div class="source"><pre>
+</pre>
+</div>
+<p>Which will distribute the mail to the current subscribers</p>
+<p>in addition to the above you need to have a repository configured in the users-store block(usually near the bottom of config.xml) like so (database)-</p>
+<div class="source"><pre>
 &lt;repository name=&quot;list-james&quot;
     class=&quot;org.apache.james.userrepository.ListUsersJdbcRepository&quot;
     destinationURL=&quot;db://maildb/lists/list-james&quot;&gt;
     &lt;sqlFile&gt;file://conf/sqlResources.xml&lt;/sqlFile&gt;
 &lt;/repository&gt;
-</pre></div>
-        Database users will also need to ensure that they have <a href="2.3.1/using_database.html">configured a data-source</a> named to match the destination URL
-        Using the filesystem:-
-        <div class="source"><pre>
+</pre>
+</div>
+<p>Database users will also need to ensure that they have <a href="2.3.1/using_database.html">configured a data-source</a> named to match the destination URL</p>
+<p>Using the filesystem:-</p>
+<div class="source"><pre>
 &lt;repository name=&quot;list-james&quot;
     class=&quot;org.apache.james.userrepository.UsersFileRepository&quot;&gt;
     &lt;destination URL=&quot;file://var/lists/list-james/&quot;/&gt;
 &lt;/repository&gt;
-</pre></div>
-        Restart James, send a mail to james-on@localhost and you should be subscribed.
-        The repository, be it a database table or directory in the filesystem will be created automatically.
-        Database users can manipulate the users repository using SQL, and hence any application capable of running SQL queries against it.
-      </div>
-      <a name="2"></a>
-      <a name="James seems to be an open relay for Spam, is it?"></a><div class="section"><h3>James seems to be an open relay for Spam, is it?</h3>
-        In some simple tests of mail relays James appears to be an open relay, properly configured it is not. 
-        Because James is an email application platform it currently accepts all mail delivered to it via SMTP for processing. Only after the mail has been recieved does this processing begin.
-        This means that James accepts Spam. However the default configuration, and any sensible re-configuration has a number of anti-spam measures which will prevent the re-transmisson of spam from James. This makes it a blackhole for spam.
-        This also means that James will not verify addresses, but of course this means that valid addresses can't be harvested from James by spammers either.
-      </div>
-      <a name="3"></a>
-      <a name="I can send messages to James, but nobody is receiving them.  What do I do?"></a><div class="section"><h3>I can send messages to James, but nobody is receiving them.  What do I do?</h3>
-        Check that you've added valid DNS servers to your James installation.  Email delivery requires the use of special mail related DNS information (MX records), so James needs to explicitly be given DNS servers.  Look at your config.xml file for a &lt;dnsserver&gt; section and add one or more DNS servers.
-        Additionally, check the RemoteAddrNotInNetwork matcher under&lt;processor name=&quot;transport&quot;&gt;. By default it looks like this:
-        <div class="source"><pre>
+</pre>
+</div>
+<p>Restart James, send a mail to james-on@localhost and you should be subscribed.</p>
+<p>The repository, be it a database table or directory in the filesystem will be created automatically.</p>
+<p>Database users can manipulate the users repository using SQL, and hence any application capable of running SQL queries against it.</p>
+</div>
+<a name="a2"></a><div class="section"><h3><a name="James_seems_to_be_an_open_relay_for_Spam_is_it"></a>James seems to be an open relay for Spam, is it?</h3>
+<p>In some simple tests of mail relays James appears to be an open relay, properly configured it is not. </p>
+<p>Because James is an email application platform it currently accepts all mail delivered to it via SMTP for processing. Only after the mail has been recieved does this processing begin.</p>
+<p>This means that James accepts Spam. However the default configuration, and any sensible re-configuration has a number of anti-spam measures which will prevent the re-transmisson of spam from James. This makes it a blackhole for spam.</p>
+<p>This also means that James will not verify addresses, but of course this means that valid addresses can't be harvested from James by spammers either.</p>
+</div>
+<a name="a3"></a><div class="section"><h3><a name="I_can_send_messages_to_James_but_nobody_is_receiving_them.__What_do_I_do"></a>I can send messages to James, but nobody is receiving them.  What do I do?</h3>
+<p>Check that you've added valid DNS servers to your James installation.  Email delivery requires the use of special mail related DNS information (MX records), so James needs to explicitly be given DNS servers.  Look at your config.xml file for a &lt;dnsserver&gt; section and add one or more DNS servers.</p>
+<p>Additionally, check the RemoteAddrNotInNetwork matcher under&lt;processor name=&quot;transport&quot;&gt;. By default it looks like this:</p>
+<div class="source"><pre>
 &lt;mailet match=&quot;RemoteAddrNotInNetwork=127.0.0.1&quot; class=&quot;ToProcessor&quot;&gt;
     &lt;processor&gt; spam &lt;/processor&gt;
 &lt;/mailet&gt;
-</pre></div>
-        because most mail programs will use the external IP address (as opposed to 127.0.0.1) when processing mail, you need to add your internal network and/or your static IP address to this list.  You may also use a DNS domain name in this list.  The resulting entry would look something like this:
-        <div class="source"><pre>
+</pre>
+</div>
+<p>because most mail programs will use the external IP address (as opposed to 127.0.0.1) when processing mail, you need to add your internal network and/or your static IP address to this list.  You may also use a DNS domain name in this list.  The resulting entry would look something like this:</p>
+<div class="source"><pre>
 &lt;mailet match=&quot;RemoteAddrNotInNetwork=127.0.0.1,192.168.1.*&quot;
         class=&quot;ToProcessor&quot;&gt;
     &lt;processor&gt; spam &lt;/processor&gt;
 &lt;/mailet&gt;
-</pre></div>
-        This tells the processor that anything not in this address list should go to the spam processor.
-        <p>Please note that if you wish to configure James to allow users to send email from any domain or IP address you will need to disable this matcher.  In this situation you must use SMTP AUTH to ensure that your server does not act as an open relay.  For more on open relays, please see <a href="http://www.ordb.org">the Open Relay Database</a>.</p>
-      </div>
-      <a name="4"></a>
-      <a name="I can send people messages via James, but nobody can send me messages.  What do I do?"></a><div class="section"><h3>I can send people messages via James, but nobody can send me messages.  What do I do?</h3>
-        <p>You need to do one of two things:
-               <ol type="1">
-            <li>Update your domain's DNS entries so there are MX records that point to the machine that is running James.  Note that it is illegal for MX records to point to IP addresses.  You need to point MX records to a valid CNAME or A name entry, and then map that eventually to an IP address.</li>
-            <li>You could alternatively give people an email address with IP addresses.  Most people will think it's a very strange email address, but hello@[192.168.0.1] is a valid email address.  Note that you need to wrap the IP address in brackets.</li>
-          </ol>
-        
-      </div>
-      <a name="5"></a>
-      <a name="I'm trying to debug messages that James is trying to deliver.  Where should I look?"></a><div class="section"><h3>I'm trying to debug messages that James is trying to deliver.  Where should I look?</h3>
-        First step is to look in the log directory at the mailet.log file.  Look for entries that include the text &quot;RemoteDelivery&quot;.  This should provide some high-level debug information of James' attempt to delivery mail remotely.
-        <p>If you want to delve into the code, look at the RemoteDelivery mailet.  You may also want to review the mail repository source code for the repository type you are using (file, db, etc...).</p>
-      </div>
-      <a name="6"></a>
-      <a name="What about IMAP support?"></a><div class="section"><h3>What about IMAP support?</h3>
-        <p>IMAP development had been stalled, but has recently attracted new activity.  IMAP support is scheduled for inclusion in James v3.  In the meantime, there is experimental code in the repository.  If you are interested in working on or trying the IMAP prototype code, join the james-dev mailing list and let us know.</p>
-      </div>
-      <a name="7"></a>
-      <a name="What about support virtual hosting?"></a><div class="section"><h3>What about support virtual hosting?</h3>
-        <p>James v2.1+ includes a new mailet for database users, <a href="2.3.1/apidocs/org/apache/james/transport/mailets/JDBCVirtualUserTable.html">JDBCVirtualUserTable</a>, that mimics some of the sendmail capabilities of the same name.</p>
-        <p>JDBCVirtualUserTable does not provide any administation tools.
+</pre>
+</div>
+<p>This tells the processor that anything not in this address list should go to the spam processor.</p>
+<p>Please note that if you wish to configure James to allow users to send email from any domain or IP address you will need to disable this matcher.  In this situation you must use SMTP AUTH to ensure that your server does not act as an open relay.  For more on open relays, please see <a class="externalLink" href="http://www.ordb.org">the Open Relay Database</a>.</p>
+</div>
+<a name="a4"></a><div class="section"><h3><a name="I_can_send_people_messages_via_James_but_nobody_can_send_me_messages.__What_do_I_do"></a>I can send people messages via James, but nobody can send me messages.  What do I do?</h3>
+<p>You need to do one of two things:
+               <ol type="1"><li>Update your domain's DNS entries so there are MX records that point to the machine that is running James.  Note that it is illegal for MX records to point to IP addresses.  You need to point MX records to a valid CNAME or A name entry, and then map that eventually to an IP address.</li>
+<li>You could alternatively give people an email address with IP addresses.  Most people will think it's a very strange email address, but hello@[192.168.0.1] is a valid email address.  Note that you need to wrap the IP address in brackets.</li>
+</ol>
+</p>
+</div>
+<a name="a5"></a><div class="section"><h3><a name="Im_trying_to_debug_messages_that_James_is_trying_to_deliver.__Where_should_I_look"></a>I'm trying to debug messages that James is trying to deliver.  Where should I look?</h3>
+<p>First step is to look in the log directory at the mailet.log file.  Look for entries that include the text &quot;RemoteDelivery&quot;.  This should provide some high-level debug information of James' attempt to delivery mail remotely.</p>
+<p>If you want to delve into the code, look at the RemoteDelivery mailet.  You may also want to review the mail repository source code for the repository type you are using (file, db, etc...).</p>
+</div>
+<a name="a6"></a><div class="section"><h3><a name="What_about_IMAP_support"></a>What about IMAP support?</h3>
+<p>IMAP development had been stalled, but has recently attracted new activity.  IMAP support is scheduled for inclusion in James v3.  In the meantime, there is experimental code in the repository.  If you are interested in working on or trying the IMAP prototype code, join the james-dev mailing list and let us know.</p>
+</div>
+<a name="a7"></a><div class="section"><h3><a name="What_about_support_virtual_hosting"></a>What about support virtual hosting?</h3>
+<p>James v2.1+ includes a new mailet for database users, <a href="2.3.1/apidocs/org/apache/james/transport/mailets/JDBCVirtualUserTable.html">JDBCVirtualUserTable</a>, that mimics some of the sendmail capabilities of the same name.</p>
+<p>JDBCVirtualUserTable does not provide any administation tools.
 You'll have to create and maintain the database table yourself.  The
 standard configuration is as follows:</p>
-        <div class="source"><pre>
+<div class="source"><pre>
 CREATE TABLE VirtualUserTable
 (
  user varchar(64) NOT NULL default '',
@@ -415,141 +368,140 @@
  target_address varchar(255) NOT NULL default '',
  PRIMARY KEY (user,domain)
 );
-</pre></div>
-        <p>The standard query used with VirtualUserTable is:</p>
-        <div class="source"><pre>
+</pre>
+</div>
+<p>The standard query used with VirtualUserTable is:</p>
+<div class="source"><pre>
 select VirtualUserTable.target_address from VirtualUserTable, VirtualUserTable as VUTDomains
 where (VirtualUserTable.user like ? or VirtualUserTable.user like &quot;\%&quot;)
 and (VirtualUserTable.domain like ?
 or (VirtualUserTable.domain like &quot;\%&quot; and VUTDomains.domain like ?))
 order by concat(VirtualUserTable.user,'@',VirtualUserTable.domain) desc limit 1
-</pre></div>
-        <p>For a given [user, domain, domain] used with the query, this will
+</pre>
+</div>
+<p>For a given [user, domain, domain] used with the query, this will
 match as follows (in precedence order):
-<ol type="1">
-            <li>user@domain    - explicit mapping for user@domain</li>
-            <li>user@%         - catchall mapping for user anywhere</li>
-            <li>%@domain       - catchall mapping for anyone at domain</li>
-            <li>null           - no valid mapping</li>
-          </ol>
-        
-        A sample mailet looks like:
-        <div class="source"><pre>
+<ol type="1"><li>user@domain    - explicit mapping for user@domain</li>
+<li>user@%         - catchall mapping for user anywhere</li>
+<li>%@domain       - catchall mapping for anyone at domain</li>
+<li>null           - no valid mapping</li>
+</ol>
+</p>
+<p>A sample mailet looks like:</p>
+<div class="source"><pre>
 &lt;mailet match=&quot;All&quot; class=&quot;JDBCVirtualUserTable&quot;&gt;
   &lt;table&gt;db://maildb/VirtualUserTable&lt;/table&gt;
 &lt;/mailet&gt;
-</pre></div>
-        More generalized viirtual hosting is something the developers are still discussing.  One issue is that POP3 does not support virtual hosting in that it does not have a command to indicate what domain the user is in.  What this means is the mail server needs to support a 'mapping' or 'translation' convention, e.g., 'user1@domaina.com' gets a username 'domaina.user1'.  This allows the mail server to have a single username namespace.  We have seen a few good proposals put forward, but nothing that seemed the clear solution, as ideally we could have this part solve the next issue.
-        Beyond that, James needs to refine virtual hosting for mailet processing.  With the current user model, the mailet API has a Mail.getUser() method that no longer would be useable as a reliable indicator of whether they were in the local username namespace.  To date we are unclear of the best way to bring this translation into the mailet processing.  Similarly, it would be nice to support different mailet processing based on the domain, although this is somewhat feasible using the limited processing flow offered with a HostIs matcher.
-        <p>Virtual hosting is one of the most requested features, and additional work is scheduled for the 3.0 release.</p>
-      </div>
-      <a name="8"></a>
-      <a name="Where do I stick classes and jars?"></a><div class="section"><h3>Where do I stick classes and jars?</h3>
-        <p>We are largely reliant on what Avalon is doing in terms of classloading, but here are a few tips and suggestions:
-  <ul>
-            <li>Stick jars in the james/lib directory and add them to the classpath in run.bat or run.sh.</li>
-            <li>Instructions for including classes for custom mailets and matchers can be found <a href="2.3.1/custom_mailet.html">here</a> and <a href="2.3.1/custom_matcher.html">here</a> respectively..</li>
-          </ul>
-  Eventually we hope to support mailet reloading and a special lib and classes directory within the james directory that custom mailets can load from, but for now these are hopefully some useful tips.
-      </div>
-      <a name="9"></a>
-      <a name="How do I upgrade to a newer version of James?"></a><div class="section"><h3>How do I upgrade to a newer version of James?</h3>
-        
-          <ol type="1">
-            <li>Rename the previous james directory into a james.old</li>
-            <li>Run phoenix to let the new james.sar be deployed.</li>
-            <li>Edit the newly deployed config.xml to reflect your customizations from the previous config.xml.</li>
-            <li>If using JDBC, see <a href="http://wiki.apache.org/james/UpgradingToAttributes">necessary table changes.</a>
-            </li>
-            <li>Replace the var directory by the previous var directory.  This will copy over user accounts, inboxes, spools, and whatever else.</li>
-            <li>Restart James.</li>
-          </ol>
-        
-      </div>
-      <a name="10"></a>
-      <a name="How do I run James as an NT/2k/XP service?"></a><div class="section"><h3>How do I run James as an NT/2k/XP service?</h3>
-        The version of Avalon Phoenix distributed with James v2.1 and later includes a <a href="http://avalon.apache.org/phoenix/guide-administrator.html">wrapper</a> that lets you run James as a service.  An alternative strategy is to install the <a href="http://www.alexandriasc.com/software/JavaService/index.html">JavaService</a> from Alexandia Software.
-      </div>
-      <a name="11"></a>
-      <a name="Why isn't my mailet making changes to a MimeMessage?"></a><div class="section"><h3>Why isn't my mailet making changes to a MimeMessage?</h3>
-        Check the JavaMail docs.  Per the API, when you call MimeMessage.setContent(blah), you have to call saveChanges() to apply your changes.  James tries to automatically call this method so you don't have to, but in certain cases you'll still have to call saveChanges().
-      </div>
-      <a name="12"></a>
-      <a name="How to remove unneeded services like NNTP, POP3?"></a><div class="section"><h3>How to remove unneeded services like NNTP, POP3?</h3>
-        The following information is based on James 2.0a3, but the
-             upcoming 2.1 version should be similar.
-        NNTP and other underlying services are called &quot;blocks&quot; in the
+</pre>
+</div>
+<p>More generalized viirtual hosting is something the developers are still discussing.  One issue is that POP3 does not support virtual hosting in that it does not have a command to indicate what domain the user is in.  What this means is the mail server needs to support a 'mapping' or 'translation' convention, e.g., 'user1@domaina.com' gets a username 'domaina.user1'.  This allows the mail server to have a single username namespace.  We have seen a few good proposals put forward, but nothing that seemed the clear solution, as ideally we could have this part solve the next issue.</p>
+<p>Beyond that, James needs to refine virtual hosting for mailet processing.  With the current user model, the mailet API has a Mail.getUser() method that no longer would be useable as a reliable indicator of whether they were in the local username namespace.  To date we are unclear of the best way to bring this translation into the mailet processing.  Similarly, it would be nice to support different mailet processing based on the domain, although this is somewhat feasible using the limited processing flow offered with a HostIs matcher.</p>
+<p>Virtual hosting is one of the most requested features, and additional work is scheduled for the 3.0 release.</p>
+</div>
+<a name="a8"></a><div class="section"><h3><a name="Where_do_I_stick_classes_and_jars"></a>Where do I stick classes and jars?</h3>
+<p>We are largely reliant on what Avalon is doing in terms of classloading, but here are a few tips and suggestions:
+  <ul><li>Stick jars in the james/lib directory and add them to the classpath in run.bat or run.sh.</li>
+<li>Instructions for including classes for custom mailets and matchers can be found <a href="2.3.1/custom_mailet.html">here</a> and <a href="2.3.1/custom_matcher.html">here</a> respectively..</li>
+</ul>
+
+  Eventually we hope to support mailet reloading and a special lib and classes directory within the james directory that custom mailets can load from, but for now these are hopefully some useful tips.</p>
+</div>
+<a name="a9"></a><div class="section"><h3><a name="How_do_I_upgrade_to_a_newer_version_of_James"></a>How do I upgrade to a newer version of James?</h3>
+<p><ol type="1"><li>Rename the previous james directory into a james.old</li>
+<li>Run phoenix to let the new james.sar be deployed.</li>
+<li>Edit the newly deployed config.xml to reflect your customizations from the previous config.xml.</li>
+<li>If using JDBC, see <a class="externalLink" href="http://wiki.apache.org/james/UpgradingToAttributes">necessary table changes.</a></li>
+<li>Replace the var directory by the previous var directory.  This will copy over user accounts, inboxes, spools, and whatever else.</li>
+<li>Restart James.</li>
+</ol>
+</p>
+</div>
+<a name="a10"></a><div class="section"><h3><a name="How_do_I_run_James_as_an_NT2kXP_service"></a>How do I run James as an NT/2k/XP service?</h3>
+<p>The version of Avalon Phoenix distributed with James v2.1 and later includes a <a class="externalLink" href="http://avalon.apache.org/phoenix/guide-administrator.html">wrapper</a> that lets you run James as a service.  An alternative strategy is to install the <a class="externalLink" href="http://www.alexandriasc.com/software/JavaService/index.html">JavaService</a> from Alexandia Software.</p>
+</div>
+<a name="a11"></a><div class="section"><h3><a name="Why_isnt_my_mailet_making_changes_to_a_MimeMessage"></a>Why isn't my mailet making changes to a MimeMessage?</h3>
+<p>Check the JavaMail docs.  Per the API, when you call MimeMessage.setContent(blah), you have to call saveChanges() to apply your changes.  James tries to automatically call this method so you don't have to, but in certain cases you'll still have to call saveChanges().</p>
+</div>
+<a name="a12"></a><div class="section"><h3><a name="How_to_remove_unneeded_services_like_NNTP_POP3"></a>How to remove unneeded services like NNTP, POP3?</h3>
+<p>The following information is based on James 2.0a3, but the
+             upcoming 2.1 version should be similar.</p>
+<p>NNTP and other underlying services are called &quot;blocks&quot; in the
              Avalon Phoenix terminology. Blocks are specified in the
              assembly.xml file which is located in the apps/james/SAR-INF directory (2.1)
              or apps/james/conf directory (2.0a3). Note: this file is created
-             during the first startup of James.
-        There are dependencies between the blocks, which you can read from
+             during the first startup of James.</p>
+<p>There are dependencies between the blocks, which you can read from
              the file. For example the SMTP Server block depends on the
              users-store block, so if you want SMTP then you cannot remove the
-             users-store block even if you only want to relay messages.
-        To remove the NNTP Server comment out the following blocks:
+             users-store block even if you only want to relay messages.</p>
+<p>To remove the NNTP Server comment out the following blocks:
              NNTP server, NNTP Authentication Service, NNTP repository.
-             To remove the POP3 Server comment out the POP3 Server block.
-        <p>If you remove a block it wont't be loaded next time you restart
+             To remove the POP3 Server comment out the POP3 Server block.</p>
+<p>If you remove a block it wont't be loaded next time you restart
              James. You must also remove all sections related to the removed
              blocks from the James configuration file - config.xml - otherwise
              you will get error messages, saying that there is no corresponding
              block.</p>
-      </div>
-      <a name="13"></a>
-      <a name="How can I contribute to James"></a><div class="section"><h3>How can I contribute to James</h3>
-        <p>Read the &quot;Contributors How To&quot; <a href="../contribute.html">here</a>
-        </p>
-      </div>
-      <a name="14"></a>
-      <a name="How can I make sendmail route local mail (or all mail) through James on the same machine?"></a><div class="section"><h3>How can I make sendmail route local mail (or all mail) through James on the same machine?</h3>
-        <p>Read the &quot;sendmail How To&quot; <a href="james_and_sendmail.html">here</a>
-        </p>
-      </div>
-      <a name="15"></a>
-      <a name="I am using Microsoft's SQL Type 4 JDBC Driver, why do I get a "Can't start manual transaction mode because there are cloned connections" exception?"></a><div class="section"><h3>I am using Microsoft's SQL Type 4 JDBC Driver, why do I get a &quot;Can't start manual transaction mode because there are cloned connections&quot; exception?</h3>
-        <p>I am using Microsoft's SQL Type 4 JDBC Driver, why do I get the following exception?<br></br>java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start manual transaction mode because there are cloned connections.</p>
-        <p>This seems to be a problem with the Microsoft Type 4 JDBC Driver and concurrent statements/transactions/resultsets on the same database conntection.</p>
-        <p>To solve this you need to add <b>;SelectMethod=cursor</b> to the end of your dburl string. Your dburl string would then look something like this<br></br>&lt;dburl&gt;jdbc:microsoft:sqlserver://dbserver.host.name:1433;SelectMethod=cursor&lt;/dburl&gt;</p>
-        <p>NOTE: some people have complained about performance when using this option, the alternative is a 3rd party JDBC driver but these are often not free.</p>
-      </div>
-      <a name="16"></a>
-      <a name="I am using James with a MySQL database and I keep getting a "Packet is larger than max_allowed_packet" when receiving large messages despite the fact that my max packet size is configured to be larger than my max message size.  What's going on?"></a><div class="section"><h3>I am using James with a MySQL database and I keep getting a &quot;Packet is larger than max_allowed_packet&quot; when receiving large messages despite the fact that my max packet size is configured to be larger than my max message size.  What's going on?</h3>
-        <p>When a user tries to send a large message that is close to but not quite at the max message limit the send fails and an exception similar to the following appears in the log:</p>
-        <p>Sent: 451 Error processing message:<br></br>
-            Exception spooling message: Exception caught while storing mail Container:<br></br>
-            java.lang.IllegalArgumentException: Packet is larger than max_allowed_packet<br></br>
-            from server configuration of 4193280 bytes;<br></br>
-              nested exception is:<br></br>
-                    java.lang.RuntimeException: Exception caught while storing mail<br></br>
-            Container: java.lang.IllegalArgumentException: Packet is larger than<br></br>
-            max_allowed_packet from server configuration of 4193280 bytes<br></br>
-        </p>
-        <p>Because of how the JDBC driver is written, a 25%
+</div>
+<a name="a13"></a><div class="section"><h3><a name="How_can_I_contribute_to_James"></a>How can I contribute to James</h3>
+<p>Read the &quot;Contributors How To&quot; <a href="../contribute.html">here</a></p>
+</div>
+<a name="a14"></a><div class="section"><h3><a name="How_can_I_make_sendmail_route_local_mail_or_all_mail_through_James_on_the_same_machine"></a>How can I make sendmail route local mail (or all mail) through James on the same machine?</h3>
+<p>Read the &quot;sendmail How To&quot; <a href="james_and_sendmail.html">here</a></p>
+</div>
+<a name="a15"></a><div class="section"><h3><a name="I_am_using_Microsofts_SQL_Type_4_JDBC_Driver_why_do_I_get_a_Cant_start_manual_transaction_mode_because_there_are_cloned_connections_exception"></a>I am using Microsoft's SQL Type 4 JDBC Driver, why do I get a &quot;Can't start manual transaction mode because there are cloned connections&quot; exception?</h3>
+<p>I am using Microsoft's SQL Type 4 JDBC Driver, why do I get the following exception?<br />
+java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start manual transaction mode because there are cloned connections.</p>
+<p>This seems to be a problem with the Microsoft Type 4 JDBC Driver and concurrent statements/transactions/resultsets on the same database conntection.</p>
+<p>To solve this you need to add <b>;SelectMethod=cursor</b> to the end of your dburl string. Your dburl string would then look something like this<br />
+&lt;dburl&gt;jdbc:microsoft:sqlserver://dbserver.host.name:1433;SelectMethod=cursor&lt;/dburl&gt;</p>
+<p>NOTE: some people have complained about performance when using this option, the alternative is a 3rd party JDBC driver but these are often not free.</p>
+</div>
+<a name="a16"></a><div class="section"><h3><a name="I_am_using_James_with_a_MySQL_database_and_I_keep_getting_a_Packet_is_larger_than_max_allowed_packet_when_receiving_large_messages_despite_the_fact_that_my_max_packet_size_is_configured_to_be_larger_than_my_max_message_size.__Whats_going_on"></a>I am using James with a MySQL database and I keep getting a &quot;Packet is larger than max_allowed_packet&quot; when receiving large messages despite the fact that my max packet size is configured to be larger than my max message size.  What's going on?</h3>
+<p>When a user tries to send a large message that is close to but not quite at the max message limit the send fails and an exception similar to the following appears in the log:</p>
+<p>Sent: 451 Error processing message:<br />
+
+            Exception spooling message: Exception caught while storing mail Container:<br />
+
+            java.lang.IllegalArgumentException: Packet is larger than max_allowed_packet<br />
+
+            from server configuration of 4193280 bytes;<br />
+
+              nested exception is:<br />
+
+                    java.lang.RuntimeException: Exception caught while storing mail<br />
+
+            Container: java.lang.IllegalArgumentException: Packet is larger than<br />
+
+            max_allowed_packet from server configuration of 4193280 bytes<br />
+</p>
+<p>Because of how the JDBC driver is written, a 25%
             factor is necessary between the maximum message size and the max_packet_size
             to prevent the driver from throwing an exception.  So if you want a 4MB
             maximum message size, you need a 5MB max_packet size.  Or a 4MB
             max_packet_size allows only a 3.2MB max message.
             </p>
-      </div>
-      <a name="17"></a>
-        <a name="How do I use Subversion to get James source code?"></a><div class="section"><h3>How do I use Subversion to get James source code?</h3>
-          <p>First of all read this: <a href="http://www.apache.org/dev/version-control.html">ASF Source Code</a>.
-          <br></br>Now go to <a href="http://subversion.tigris.org/">http://subversion.tigris.org/</a> and download a subversion client.
-          <br></br>James subversion repository is at <b>http://svn.apache.org/repos/asf/james/server</b>. Commiters use &quot;https&quot;.
-          <br></br>You may want to search the web, our <a href="http://www.mail-archive.com/server-dev@james.apache.org/">dev</a> and <a href="http://www.mail-archive.com/server-user@james.apache.org/">user</a> mail archives or our <a href="http://wiki.apache.org/james">wiki</a> for more information.</p>
-        </div>
-         <a name="18"></a>
-        <a name="How can I control Sun's JVM DNS Lookup Configuration."></a><div class="section"><h3>How can I control Sun's JVM DNS Lookup Configuration.</h3>
-<p>Sun's JVM Internet address lookup uses a cache which is unbounded and doesn't time out.<br></br>
-This is obviously not great for a long running process like a mail server so we have introduced a system property <strong>networkaddress.cache.ttl</strong> that is used by the distributed phoenix start-up scripts, at startup, to override the java 1.4 <strong>Security.setProperty(&quot;networkaddress.cache.ttl&quot;)</strong>.<br></br> By default this is set to <strong>300</strong> seconds.</p>
+</div>
+<a name="a17"></a><div class="section"><h3><a name="How_do_I_use_Subversion_to_get_James_source_code"></a>How do I use Subversion to get James source code?</h3>
+<p>First of all read this: <a class="externalLink" href="http://www.apache.org/dev/version-control.html">ASF Source Code</a>.
+          <br />
+Now go to <a class="externalLink" href="http://subversion.tigris.org/">http://subversion.tigris.org/</a> and download a subversion client.
+          <br />
+James subversion repository is at <b>http://svn.apache.org/repos/asf/james/server</b>. Commiters use &quot;https&quot;.
+          <br />
+You may want to search the web, our <a class="externalLink" href="http://www.mail-archive.com/server-dev@james.apache.org/">dev</a> and <a class="externalLink" href="http://www.mail-archive.com/server-user@james.apache.org/">user</a> mail archives or our <a class="externalLink" href="http://wiki.apache.org/james">wiki</a> for more information.</p>
+</div>
+<a name="a18"></a><div class="section"><h3><a name="How_can_I_control_Suns_JVM_DNS_Lookup_Configuration."></a>How can I control Sun's JVM DNS Lookup Configuration.</h3>
+<p>Sun's JVM Internet address lookup uses a cache which is unbounded and doesn't time out.<br />
+
+This is obviously not great for a long running process like a mail server so we have introduced a system property <strong>networkaddress.cache.ttl</strong> that is used by the distributed phoenix start-up scripts, at startup, to override the java 1.4 <strong>Security.setProperty(&quot;networkaddress.cache.ttl&quot;)</strong>.<br />
+ By default this is set to <strong>300</strong> seconds.</p>
 <p>This workaround will only be present if you use James as distributed. If you use James in any other container, including different versions of Phoenix, you will need to ensure that you make a similar configuration change to allow the internet address cache to perform acceptably.</p>
 <p>James 2.3 has this workaround and it requires it to operate acceptably. Future versions of James will continue to have the workaround in place but will *not* require it. This will provide continued support for any mailets which you may deploy from other sources which might continue to use Sun's InetAddress class for DNS resolution.</p>
 <p>We are not currently aware of the behaviour of this cache in other JVM implementations, nor of the effect, if any, which this change might have on them</p>
-<p>For more on this read defect report <a href="http://issues.apache.org/jira/browse/JAMES-592">JAMES-592</a> and related defects.</p>
-        </div>
-    </div>
-  
+<p>For more on this read defect report <a class="externalLink" href="http://issues.apache.org/jira/browse/JAMES-592">JAMES-592</a> and related defects.</p>
+</div>
+</div>
 
       </div>
     </div>