Added: websites/staging/james/trunk/content/server/monitor-logging.html ============================================================================== --- websites/staging/james/trunk/content/server/monitor-logging.html (added) +++ websites/staging/james/trunk/content/server/monitor-logging.html Mon May 7 21:51:45 2012 @@ -0,0 +1,321 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html lang="en"> + <head> + <title></title> + + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" /> + + <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/style.css"> + <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/code.css"> + + </style> + + + + + + </head> + + <body> + <div id="page" class="container_16"> + <div id="header" class="grid_8"> + <img src="http://www.apache.org/images/feather-small.gif" alt="The Apache Software Foundation"> + <h1>The Apache Software Foundation - Apache James website</h1> + <h2></h2> + </div> + <div id="nav" class="grid_8"> + <ul> + <!-- <li><a href="/" title="Welcome!">Home</a></li> of the greatest email server on the web --> + <li><a href="http://www.apache.org/foundation/" title="The Foundation">Foundation</a></li> + <li><a href="http://projects.apache.org" title="The Projects">Projects</a></li> + <li><a href="http://people.apache.org" title="The People">People</a></li> + <li><a href="http://www.apache.org/foundation/getinvolved.html" title="Get Involved">Get Involved</a></li> + <li><a href="http://www.apache.org/dyn/closer.cgi" title="Download">Download</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Support Apache">Support Apache</a></li> + </ul> + <p><a href="/">Home</a> » <a href="/server/">Server</a></p> + <form name="search" id="search" action="http://www.google.com/search" method="get"> + <input value="*.apache.org" name="sitesearch" type="hidden"/> + <input type="text" name="q" id="query"> + <input type="submit" id="submit" value="Search"> + </form> + </div> + <div class="clear"></div> + <div id="content" class="grid_16"><div class="section-content"><p>Use the well-known log4j system.</p> +<p>The log4j.properties reside in the ./conf folder. You can edit it to change the logging level, per component.</p> +<p>You can change the logging level while the server is running via JMX (under org.apache.james/container).</p> +<p>All log files are written in the ./log folder. The ./log/james-sever.log gathers all the other logs. Log file rotation is also available. +<pre> +[root@srv001 log]# ls -alp +total 2892 +drwxrwxrwx. 2 root root 4096 2010-11-07 07:58 ./ +drwxrwxrwx. 7 root root 4096 2010-11-06 09:01 ../ +-rw-r--r--. 1 root root 0 2010-11-06 09:24 dnsserver.log +-rw-r--r--. 1 root root 811 2010-11-06 17:37 domainlist.log +-rwxrwxrwx. 1 root root 0 2010-10-21 14:07 .dummy +-rw-r--r--. 1 root root 58 2010-11-06 09:24 fetchmail.log +-rw-r--r--. 1 root root 552 2010-11-07 08:27 imapserver.log +-rw-r--r--. 1 root root 959 2010-11-06 18:50 imapserver.log.2010-11-06 +-rw-r--r--. 1 root root 677090 2010-11-07 08:29 james-server.log +-rw-r--r--. 1 root root 761987 2010-11-06 23:59 james-server.log.2010-11-06 +-rw-r--r--. 1 root root 1941 2010-11-06 09:24 lmtpserver.log +-rw-r--r--. 1 root root 0 2010-11-06 09:24 mailboxmanager.log +-rw-r--r--. 1 root root 7935 2010-11-06 09:24 mailetcontainer.log +-rw-r--r--. 1 root root 61129 2010-11-07 08:26 mailet.log +-rw-r--r--. 1 root root 23393 2010-11-06 23:57 mailet.log.2010-11-06 +-rw-r--r--. 1 root root 325 2010-11-06 09:24 mailserver.log +-rw-r--r--. 1 root root 5008 2010-11-06 09:24 mailstore.log +-rw-r--r--. 1 root root 0 2010-11-06 09:24 objectstore.log +-rw-r--r--. 1 root root 2001 2010-11-06 09:24 pop3server.log +-rw-r--r--. 1 root root 138 2010-11-07 08:18 remotemanager.log +-rw-r--r--. 1 root root 746 2010-11-06 17:57 remotemanager.log.2010-11-06 +-rw-r--r--. 1 root root 615271 2010-11-07 08:29 smtpserver.log +-rw-r--r--. 1 root root 717888 2010-11-06 23:59 smtpserver.log.2010-11-06 +-rw-r--r--. 1 root root 71 2010-11-06 09:24 usersrepository.log +</pre> +Consult <a href="https://svn.apache.org/repos/asf/james/app/tags/apache-james-3.0-beta4/src/main/resources/log4j.properties">log4j.properties</a> in SVN to get some examples and hints.</p> +<p>You can rise the logging level on protocols.</p> +<p>Set log4j.logger.james.smtpserver=DEBUG, SMTPSERVER</p> +<p>In the following log example, the 250 in front of it is the session id.. so you can now see the whole transaction flow even if you have many stuff currently going on.</p> +<p>As you see 5xx and 4xx stuff is logged with INFO .. the rest with DEBUG</p> +<p>You can do the same on IMAP, POP3. +<pre> +DEBUG 16:16:06,705 | james.smtpserver | 250 Lookup command handler for command: EHLO +DEBUG 16:16:06,706 | james.smtpserver | 250 org.apache.james.protocols.smtp.core.esmtp.EhloCmdHandler: 250 [noname. Hello test.de (localhost [127.0.0.1]), PIPELINING, ENHANCEDSTATUSCODES, 8BITMIME] +DEBUG 16:16:11,098 | james.smtpserver | 250 Lookup command handler for command: MAIL +ERROR 16:16:11,108 | james.smtpserver | 250 Error parsing sender address: <gdgwewe: did not start and end with > > +INFO 16:16:11,110 | james.smtpserver | 250 org.apache.james.smtpserver.JamesMailCmdHandler: 501 [5.1.7 Syntax error in MAIL command] +DEBUG 16:16:14,442 | james.smtpserver | 250 Lookup command handler for command: MAIL +DEBUG 16:16:14,442 | james.smtpserver | 250 org.apache.james.smtpserver.JamesMailCmdHandler: 250 [2.1.0 Sender <test@localhost> OK] +DEBUG 16:16:22,385 | james.smtpserver | 250 Lookup command handler for command: RCPT +DEBUG 16:16:22,386 | james.smtpserver | 250 executing hook org.apache.james.smtpserver.AuthRequiredToRelayRcptHook +DEBUG 16:16:22,386 | james.smtpserver | 250 executing hook org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook +DEBUG 16:16:22,485 | james.smtpserver | 250 executing hook org.apache.james.protocols.smtp.core.PostmasterAbuseRcptHook +DEBUG 16:16:22,485 | james.smtpserver | 250 executing hook org.apache.james.smtpserver.fastfail.ValidRcptHandler +DEBUG 16:16:22,485 | james.smtpserver | 250 Sender allowed +DEBUG 16:16:22,485 | james.smtpserver | 250 org.apache.james.smtpserver.JamesRcptCmdHandler: 250 [2.1.5 Recipient <go@localhost> OK] +DEBUG 16:16:30,008 | james.smtpserver | 250 Lookup command handler for command: RCPT +ERROR 16:16:30,009 | james.smtpserver | 250 Error parsing recipient address: Address did not start and end with < > [to:<d] [from:test@localhost] +INFO 16:16:30,009 | james.smtpserver | 250 org.apache.james.smtpserver.JamesRcptCmdHandler: 501 [5.5.2 Syntax error in parameters or arguments] +DEBUG 16:16:33,424 | james.smtpserver | 250 Lookup command handler for command: RCPT +DEBUG 16:16:33,424 | james.smtpserver | 250 executing hook org.apache.james.smtpserver.AuthRequiredToRelayRcptHook +DEBUG 16:16:33,424 | james.smtpserver | 250 executing hook org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook +DEBUG 16:16:33,425 | james.smtpserver | 250 executing hook org.apache.james.protocols.smtp.core.PostmasterAbuseRcptHook +DEBUG 16:16:33,425 | james.smtpserver | 250 executing hook org.apache.james.smtpserver.fastfail.ValidRcptHandler +DEBUG 16:16:33,425 | james.smtpserver | 250 Sender allowed +DEBUG 16:16:33,425 | james.smtpserver | 250 org.apache.james.smtpserver.JamesRcptCmdHandler: 250 [2.1.5 Recipient <g@localhost> OK] +DEBUG 16:16:35,072 | james.smtpserver | 250 Lookup command handler for command: DATA +DEBUG 16:16:35,076 | james.smtpserver | 250 org.apache.james.smtpserver.JamesDataCmdHandler: 354 [Ok Send data ending with <CRLF>.<CRLF>] +DEBUG 16:16:39,205 | james.smtpserver | 250 executing james message handler org.apache.james.protocols.smtp.core.esmtp.MailSizeEsmtpExtension@4b25ee49 +DEBUG 16:16:39,206 | james.smtpserver | 250 executing james message handler org.apache.james.smtpserver.AddDefaultAttributesMessageHook@6c408893 +DEBUG 16:16:39,206 | james.smtpserver | 250 executing james message handler org.apache.james.smtpserver.SendMailHandler@5636bc0a +DEBUG 16:16:39,206 | james.smtpserver | 250 sending mail +INFO 16:16:39,223 | james.smtpserver | 250 Successfully spooled mail Mail1291907799185-4af99ab3-9dd2-4d04-b8c9-37c12dd94686 from test@localhost on 127.0.0.1 for [go@localhost, g@localhost] +INFO 16:16:40,230 | james.mailetcontext | Storing mail Mail1291907799185-4af99ab3-9dd2-4d04-b8c9-37c12dd94686 in file://var/mail/address-error/ +INFO Â 16:16:30,009 | james.smtpserver | 250 org.apache.james.smtpserver.JamesRcptCmdHandler: 501 [5.5.2 Syntax error in parameters or arguments]</p> +<p>DEBUG 16:41:42,174 | james.smtpserver | 167 org.apache.james.smtpserver.JamesWelcomeMessageHandler disconnect=false +DEBUG 16:41:44,207 | james.smtpserver | 167 Lookup command handler for command: EHLO +DEBUG 16:41:44,209 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.esmtp.EhloCmdHandler: 250 [noname. Hello test (localhost [127.0.0.1]), PIPELINING, ENHANCEDSTATUSCODES, 8BITMIME] +DEBUG 16:41:44,214 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 16:42:12,720 | james.smtpserver | 167 Lookup command handler for command: EHLO +DEBUG 16:42:12,720 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.esmtp.EhloCmdHandler: 250 [noname. Hello t (localhost [127.0.0.1]), PIPELINING, ENHANCEDSTATUSCODES, 8BITMIME] +DEBUG 16:42:12,721 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 16:42:15,008 | james.smtpserver | 167 Lookup command handler for command: MAIL +INFO 16:42:15,010 | james.smtpserver | 167 org.apache.james.smtpserver.JamesMailCmdHandler: 501 [5.5.4 Usage: MAIL FROM:<sender>] +DEBUG 16:42:15,010 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 16:42:17,048 | james.smtpserver | 167 Lookup command handler for command: MAIL +DEBUG 16:42:17,048 | james.smtpserver | 167 org.apache.james.smtpserver.JamesMailCmdHandler: 250 [2.1.0 Sender <> OK] +DEBUG 16:42:17,048 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 16:42:19,088 | james.smtpserver | 167 Lookup command handler for command: RCPT +DEBUG 16:42:19,088 | james.smtpserver | 167 executing hook org.apache.james.smtpserver.AuthRequiredToRelayRcptHook +DEBUG 16:42:19,089 | james.smtpserver | 167 executing hook org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook +DEBUG 16:42:19,089 | james.smtpserver | 167 executing hook org.apache.james.protocols.smtp.core.PostmasterAbuseRcptHook +DEBUG 16:42:19,089 | james.smtpserver | 167 executing hook org.apache.james.smtpserver.fastfail.ValidRcptHandler +DEBUG 16:42:19,089 | james.smtpserver | 167 Sender allowed +DEBUG 16:42:19,089 | james.smtpserver | 167 org.apache.james.smtpserver.JamesRcptCmdHandler: 250 [2.1.5 Recipient <nm@localhost> OK] +DEBUG 16:42:19,090 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 16:42:19,767 | james.smtpserver | 167 Lookup command handler for command: DATA +DEBUG 16:42:19,774 | james.smtpserver | 167 org.apache.james.smtpserver.JamesDataCmdHandler: 354 [Ok Send data ending with <CRLF>.<CRLF>] +DEBUG 16:42:19,775 | james.smtpserver | 167 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 16:42:22,950 | james.smtpserver | 167 executing james message handler org.apache.james.protocols.smtp.core.esmtp.MailSizeEsmtpExtension@5585c0de +DEBUG 16:42:22,952 | james.smtpserver | 167 executing james message handler org.apache.james.smtpserver.AddDefaultAttributesMessageHook@2827f394 +DEBUG 16:42:22,952 | james.smtpserver | 167 executing james message handler org.apache.james.smtpserver.SendMailHandler@3f81d405 +DEBUG 16:42:22,952 | james.smtpserver | 167 sending mail +INFO 16:42:22,977 | james.smtpserver | 167 Successfully spooled mail Mail1291909342936-99263c11-c287-42e9-93a5-4f3468842d9f from null on 127.0.0.1 for [nm@localhost]</p> +<p>DEBUG 17:23:42,297 | james.smtpserver | 262 org.apache.james.smtpserver.JamesWelcomeMessageHandler disconnect=false +DEBUG 17:23:46,091 | james.smtpserver | 262 Lookup command handler for command: EHLO +DEBUG 17:23:46,093 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.esmtp.EhloCmdHandler: 250 [noname. Hello test (fileserver [192.168.0.254]), AUTH LOGIN PLAIN, AUTH=LOGIN PLAIN, PIPELINING, ENHANCEDSTATUSCODES, 8BITMIME] +DEBUG 17:23:46,098 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 17:23:54,029 | james.smtpserver | 262 Lookup command handler for command: MAIL +DEBUG 17:23:54,031 | james.smtpserver | 262 org.apache.james.smtpserver.JamesMailCmdHandler: 250 [2.1.0 Sender <> OK] +DEBUG 17:23:54,032 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 17:24:00,775 | james.smtpserver | 262 Lookup command handler for command: RCPT +DEBUG 17:24:00,776 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.AuthRequiredToRelayRcptHook +DEBUG 17:24:00,777 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.log.HookResultLogger@2a36bb87 +INFO 17:24:00,777 | james.smtpserver | 262 org.apache.james.smtpserver.AuthRequiredToRelayRcptHook: result=2 (DENY) +INFO 17:24:00,777 | james.smtpserver | 262 org.apache.james.smtpserver.JamesRcptCmdHandler: 530 [5.7.1 Authentication Required] +DEBUG 17:24:00,778 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 17:24:17,828 | james.smtpserver | 262 Lookup command handler for command: RCPT +DEBUG 17:24:17,828 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.AuthRequiredToRelayRcptHook +DEBUG 17:24:17,828 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.log.HookResultLogger@2a36bb87 +DEBUG 17:24:17,829 | james.smtpserver | 262 org.apache.james.smtpserver.AuthRequiredToRelayRcptHook: result=8 (DECLINED) +DEBUG 17:24:17,829 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook +DEBUG 17:24:17,829 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.log.HookResultLogger@2a36bb87 +DEBUG 17:24:17,829 | james.smtpserver | 262 org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook: result=8 (DECLINED) +DEBUG 17:24:17,830 | james.smtpserver | 262 executing hook org.apache.james.protocols.smtp.core.PostmasterAbuseRcptHook +DEBUG 17:24:17,830 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.log.HookResultLogger@2a36bb87 +DEBUG 17:24:17,830 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.PostmasterAbuseRcptHook: result=8 (DECLINED) +DEBUG 17:24:17,830 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.fastfail.ValidRcptHandler +DEBUG 17:24:18,670 | james.smtpserver | 262 Unknown user nm check if its an alias +INFO 17:24:18,724 | james.smtpserver | 262 Rejected message. Unknown user: nm@localhost +DEBUG 17:24:18,725 | james.smtpserver | 262 executing hook org.apache.james.smtpserver.log.HookResultLogger@2a36bb87 +INFO 17:24:18,726 | james.smtpserver | 262 org.apache.james.smtpserver.fastfail.ValidRcptHandler: result=2 (DENY) +INFO 17:24:18,726 | james.smtpserver | 262 org.apache.james.smtpserver.JamesRcptCmdHandler: 550 [5.1.1 Unknown user: nm@localhost] +DEBUG 17:24:18,727 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +DEBUG 17:24:23,843 | james.smtpserver | 262 Lookup command handler for command: QUIT +DEBUG 17:24:23,843 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.QuitCmdHandler: 221 [2.0.0 noname. Service closing transmission channel] +DEBUG 17:24:23,844 | james.smtpserver | Dispose objects while closing channel 1431702401 +DEBUG 17:24:23,845 | james.smtpserver | 262 org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler disconnect=false +INFO Â 17:24:00,777 | james.smtpserver | 262 org.apache.james.smtpserver.AuthRequiredToRelayRcptHook: result=2 (DENY) +INFO Â 17:24:18,726 | james.smtpserver | 262 org.apache.james.smtpserver.fastfail.ValidRcptHandler: result=2 (DENY) +DEBUG 17:24:17,829 | james.smtpserver | 262 org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook: result=8 (DECLINED) +</pre> +The default log4j.properties is taken hereafter for information. +<pre></p> +<h1 id="licensed-to-the-apache-software-foundation-asf-under-one">Licensed to the Apache Software Foundation (ASF) under one</h1> +<h1 id="or-more-contributor-license-agreements-see-the-notice-file">or more contributor license agreements. See the NOTICE file</h1> +<h1 id="distributed-with-this-work-for-additional-information">distributed with this work for additional information</h1> +<h1 id="regarding-copyright-ownership-the-asf-licenses-this-file">regarding copyright ownership. The ASF licenses this file</h1> +<h1 id="to-you-under-the-apache-license-version-20-the">to you under the Apache License, Version 2.0 (the</h1> +<h1 id="license-you-may-not-use-this-file-except-in-compliance">"License"); you may not use this file except in compliance</h1> +<h1 id="with-the-license-you-may-obtain-a-copy-of-the-license-at">with the License. You may obtain a copy of the License at</h1> +<h1></h1> +<h1 id="httpwwwapacheorglicenseslicense-20">http://www.apache.org/licenses/LICENSE-2.0</h1> +<h1></h1> +<h1 id="unless-required-by-applicable-law-or-agreed-to-in-writing">Unless required by applicable law or agreed to in writing,</h1> +<h1 id="software-distributed-under-the-license-is-distributed-on-an">software distributed under the License is distributed on an</h1> +<h1 id="as-is-basis-without-warranties-or-conditions-of-any">"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</h1> +<h1 id="kind-either-express-or-implied-see-the-license-for-the">KIND, either express or implied. See the License for the</h1> +<h1 id="specific-language-governing-permissions-and-limitations">specific language governing permissions and limitations</h1> +<h1 id="under-the-license">under the License.</h1> +<h1 id="see-httpjamesapacheorgserver3confightml-for-usage">See http://james.apache.org/server/3/config.html for usage</h1> +<p>log4j.rootLogger=DEBUG</p> +<p>log4j.appender.CONS=org.apache.log4j.ConsoleAppender +log4j.appender.CONS.layout=org.apache.log4j.PatternLayout +log4j.appender.CONS.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender +log4j.appender.FILE.File=../log/james-server.log +log4j.appender.FILE.layout=org.apache.log4j.PatternLayout +log4j.appender.FILE.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.MAILBOXMANAGER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MAILBOXMANAGER.File=../log/mailboxmanager.log +log4j.appender.MAILBOXMANAGER.DatePattern='.'yyyy-MM-dd +log4j.appender.MAILBOXMANAGER.layout=org.apache.log4j.PatternLayout +log4j.appender.MAILBOXMANAGER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.IMAPSERVER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.IMAPSERVER.File=../log/imapserver.log +log4j.appender.IMAPSERVER.DatePattern='.'yyyy-MM-dd +log4j.appender.IMAPSERVER.layout=org.apache.log4j.PatternLayout +log4j.appender.IMAPSERVER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.MAILSERVER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MAILSERVER.File=../log/mailserver.log +log4j.appender.MAILSERVER.DatePattern='.'yyyy-MM-dd +log4j.appender.MAILSERVER.layout=org.apache.log4j.PatternLayout +log4j.appender.MAILSERVER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.MAILET=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MAILET.File=../log/mailet.log +log4j.appender.MAILET.DatePattern='.'yyyy-MM-dd +log4j.appender.MAILET.layout=org.apache.log4j.PatternLayout +log4j.appender.MAILET.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.MAILETCONTAINER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MAILETCONTAINER.File=../log/mailetcontainer.log +log4j.appender.MAILETCONTAINER.DatePattern='.'yyyy-MM-dd +log4j.appender.MAILETCONTAINER.layout=org.apache.log4j.PatternLayout +log4j.appender.MAILETCONTAINER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.DNSSERVER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DNSSERVER.File=../log/dnsserver.log +log4j.appender.DNSSERVER.DatePattern='.'yyyy-MM-dd +log4j.appender.DNSSERVER.layout=org.apache.log4j.PatternLayout +log4j.appender.DNSSERVER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.REMOTEMANAGER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.REMOTEMANAGER.File=../log/remotemanager.log +log4j.appender.REMOTEMANAGER.DatePattern='.'yyyy-MM-dd +log4j.appender.REMOTEMANAGER.layout=org.apache.log4j.PatternLayout +log4j.appender.REMOTEMANAGER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.POP3SERVER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.POP3SERVER.File=../log/pop3server.log +log4j.appender.POP3SERVER.DatePattern='.'yyyy-MM-dd +log4j.appender.POP3SERVER.layout=org.apache.log4j.PatternLayout +log4j.appender.POP3SERVER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.SMTPSERVER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.SMTPSERVER.File=../log/smtpserver.log +log4j.appender.SMTPSERVER.DatePattern='.'yyyy-MM-dd +log4j.appender.SMTPSERVER.layout=org.apache.log4j.PatternLayout +log4j.appender.SMTPSERVER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.LMTPSERVER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.LMTPSERVER.File=../log/lmtpserver.log +log4j.appender.LMTPSERVER.DatePattern='.'yyyy-MM-dd +log4j.appender.LMTPSERVER.layout=org.apache.log4j.PatternLayout +log4j.appender.LMTPSERVER.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.MAILSTORE=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MAILSTORE.File=../log/mailstore.log +log4j.appender.MAILSTORE.DatePattern='.'yyyy-MM-dd +log4j.appender.MAILSTORE.layout=org.apache.log4j.PatternLayout +log4j.appender.MAILSTORE.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.USERSREPOSITORY=org.apache.log4j.DailyRollingFileAppender +log4j.appender.USERSREPOSITORY.File=../log/usersrepository.log +log4j.appender.USERSREPOSITORY.DatePattern='.'yyyy-MM-dd +log4j.appender.USERSREPOSITORY.layout=org.apache.log4j.PatternLayout +log4j.appender.USERSREPOSITORY.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.OBJECTSTORAGE=org.apache.log4j.DailyRollingFileAppender +log4j.appender.OBJECTSTORAGE.File=../log/objectstore.log +log4j.appender.OBJECTSTORAGE.DatePattern='.'yyyy-MM-dd +log4j.appender.OBJECTSTORAGE.layout=org.apache.log4j.PatternLayout +log4j.appender.OBJECTSTORAGE.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.FETCHMAIL=org.apache.log4j.DailyRollingFileAppender +log4j.appender.FETCHMAIL.File=../log/fetchmail.log +log4j.appender.FETCHMAIL.DatePattern='.'yyyy-MM-dd +log4j.appender.FETCHMAIL.layout=org.apache.log4j.PatternLayout +log4j.appender.FETCHMAIL.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<p>log4j.appender.DOMAINLIST=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DOMAINLIST.File=../log/domainlist.log +log4j.appender.DOMAINLIST.DatePattern='.'yyyy-MM-dd +log4j.appender.DOMAINLIST.layout=org.apache.log4j.PatternLayout +log4j.appender.DOMAINLIST.layout.ConversionPattern=%-5p %d{HH:mm:ss,SSS} | %c | %m%n</p> +<h1 id="logger-for-jackrabbit">logger for jackrabbit</h1> +<p>log4j.logger.org.apache.jackrabbit=ERROR, CONS, FILE</p> +<h1 id="logger-for-activemq">logger for activemq</h1> +<p>log4j.logger.org.apache.xbean.spring=WARN, CONS, FILE +log4j.logger.org.apache.activemq=WARN, CONS, FILE</p> +<h1 id="logger-for-camel">logger for camel</h1> +<p>log4j.logger.org.apache.camel=WARN, CONS, FILE +log4j.logger.org.springframework=WARN, CONS, FILE +log4j.logger.org.apache.james=INFO, CONS, FILE</p> +<h1 id="log4jloggerjames-set-from-default-value-warn-to-info-or-even-debug-to-see-even-more-logging">log4j.logger.james: set from default value WARN to INFO or even DEBUG to see (even) more logging</h1> +<p>log4j.logger.james=WARN, CONS, FILE +log4j.logger=DEBUG, CONS, FILE</p> +<p>log4j.logger.james.mailboxmanager=INFO, MAILBOXMANAGER +log4j.logger.james.imapserver=INFO, IMAPSERVER +log4j.logger.james.mailserver=INFO, MAILSERVER +log4j.logger.james.mailetcontext=INFO, MAILET +log4j.logger.james.mailetcontainer=INFO, MAILETCONTAINER +log4j.logger.james.dnsserver=INFO, DNSSERVER +log4j.logger.james.remotemanager=INFO, REMOTEMANAGER +log4j.logger.james.pop3server=INFO, POP3SERVER +log4j.logger.james.smtpserver=INFO, SMTPSERVER +log4j.logger.james.lmtpserver=INFO, LMTPSERVER +log4j.logger.james.mailstore=INFO, MAILSTORE +log4j.logger.james.usersrepository=INFO, USERSREPOSITORY +log4j.logger.james.objectstorage=INFO, OBJECTSTORAGE +log4j.logger.james.fetchmail=INFO, FETCHMAIL +log4j.logger.james.domainlist=INFO, DOMAINLIST +</pre></p></div></div> + <div class="clear"></div> + </div> + + <div id="copyright" class="container_16"> + <p>Copyright © 2011 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p> + </div> + </body> +</html>
Added: websites/staging/james/trunk/content/server/monitor.html ============================================================================== --- websites/staging/james/trunk/content/server/monitor.html (added) +++ websites/staging/james/trunk/content/server/monitor.html Mon May 7 21:51:45 2012 @@ -0,0 +1,59 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html lang="en"> + <head> + <title></title> + + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" /> + + <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/style.css"> + <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/code.css"> + + </style> + + + + + + </head> + + <body> + <div id="page" class="container_16"> + <div id="header" class="grid_8"> + <img src="http://www.apache.org/images/feather-small.gif" alt="The Apache Software Foundation"> + <h1>The Apache Software Foundation - Apache James website</h1> + <h2></h2> + </div> + <div id="nav" class="grid_8"> + <ul> + <!-- <li><a href="/" title="Welcome!">Home</a></li> of the greatest email server on the web --> + <li><a href="http://www.apache.org/foundation/" title="The Foundation">Foundation</a></li> + <li><a href="http://projects.apache.org" title="The Projects">Projects</a></li> + <li><a href="http://people.apache.org" title="The People">People</a></li> + <li><a href="http://www.apache.org/foundation/getinvolved.html" title="Get Involved">Get Involved</a></li> + <li><a href="http://www.apache.org/dyn/closer.cgi" title="Download">Download</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Support Apache">Support Apache</a></li> + </ul> + <p><a href="/">Home</a> » <a href="/server/">Server</a></p> + <form name="search" id="search" action="http://www.google.com/search" method="get"> + <input value="*.apache.org" name="sitesearch" type="hidden"/> + <input type="text" name="q" id="query"> + <input type="submit" id="submit" value="Search"> + </form> + </div> + <div class="clear"></div> + <div id="content" class="grid_16"><div class="section-content"><p><subsection name="Monitor James Server via Loging"> +You can monitor James Server via logging - <a href="monitor-logging.html">read more</a> . +</subsection><subsection name="Monitor James Server via JMX"> +You can monitor James Server via JMX - <a href="monitor-jmx.html">read more</a> . +</subsection><subsection name="Monitor James Server Folders Usage"> +You also should monitor folder usage - <a href="monitor-folders.html">read more</a> . +</subsection></p></div></div> + <div class="clear"></div> + </div> + + <div id="copyright" class="container_16"> + <p>Copyright © 2011 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p> + </div> + </body> +</html> Added: websites/staging/james/trunk/content/server/quick-start.html ============================================================================== --- websites/staging/james/trunk/content/server/quick-start.html (added) +++ websites/staging/james/trunk/content/server/quick-start.html Mon May 7 21:51:45 2012 @@ -0,0 +1,229 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html lang="en"> + <head> + <title></title> + + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" /> + + <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/style.css"> + <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/code.css"> + + </style> + + + + + + </head> + + <body> + <div id="page" class="container_16"> + <div id="header" class="grid_8"> + <img src="http://www.apache.org/images/feather-small.gif" alt="The Apache Software Foundation"> + <h1>The Apache Software Foundation - Apache James website</h1> + <h2></h2> + </div> + <div id="nav" class="grid_8"> + <ul> + <!-- <li><a href="/" title="Welcome!">Home</a></li> of the greatest email server on the web --> + <li><a href="http://www.apache.org/foundation/" title="The Foundation">Foundation</a></li> + <li><a href="http://projects.apache.org" title="The Projects">Projects</a></li> + <li><a href="http://people.apache.org" title="The People">People</a></li> + <li><a href="http://www.apache.org/foundation/getinvolved.html" title="Get Involved">Get Involved</a></li> + <li><a href="http://www.apache.org/dyn/closer.cgi" title="Download">Download</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Support Apache">Support Apache</a></li> + </ul> + <p><a href="/">Home</a> » <a href="/server/">Server</a></p> + <form name="search" id="search" action="http://www.google.com/search" method="get"> + <input value="*.apache.org" name="sitesearch" type="hidden"/> + <input type="text" name="q" id="query"> + <input type="submit" id="submit" value="Search"> + </form> + </div> + <div class="clear"></div> + <div id="content" class="grid_16"><div class="section-content"><p>The goal of the document is to allow anyone to start with James binary distribution as an operational mail server. +<pre> +Step 0: Requirements</p> +<h6></h6> +<ul> +<li>JRE 1.5+</li> +<li>root (linux/unix) or Administrator (Windows)</li> +<li>libc6 (linux)</li> +<li>512MB RAM (launches with -Xmx512M - can use less, can need more, depending on load)</li> +</ul> +<p>Step 1: Download</p> +<h6></h6> +<ul> +<li>Download apache-james-3.0-beta4-app.zip from http://james.apache.org/download.cgi#Apache_James_Server</li> +</ul> +<p>Step 2: Deploy</p> +<h6></h6> +<ul> +<li>Unzip apache-james-3.0-beta4-app.zip.</li> +<li>You should have a folder with sub-folders bin, conf, lib, log, var and four text files.</li> +</ul> +<p>$ unzip japache-james-3.0-beta4-app.zip +$ cd apache-james-3.0-beta4-app +$ ls (linux) / dir (windows) +bin +BUILD.txt +conf +lib +LICENSE.txt +log +NOTICE.txt +README.txt +var</p> +<p>Step 3: Understand James Features</p> +<h6></h6> +<p>Persistence +- Mailbox is for users' Inbox, Sent Items, Trash... folders - Mailbox persistence is configured in spring-beans.xml (by default jpa, you set the database connection properties in database.properties - can also be maildir=file, jcr). We think to move this config out-of spring-beans.xml. +- Mailrepositorystore is for spam, error,... mails, so nothing to do with users visible mails. Available mailstore persistence are defined in mailstore.conf. Each has an URL prefix (file, db, dbfile,...) that can be used in mailetcontainer.conf to define where to store spam,... mails (exemple: file://var/mail/error/). +- Domain persistence is configured in domainlist.conf +- Users persistence is configured in usersrepository.conf +- All database connection use the database.properties in case of database access.</p> +<p>Mailet Container - http://james.apache.org/server/3/feature-mailetcontainer.html</p> +<p>SMTP Hooks - http://james.apache.org/server/3/feature-smtp-hooks.html</p> +<p>Step 4: Configure</p> +<h6></h6> +<ul> +<li>All configuration files are embedded in jars.</li> +<li>We ship in the conf foler template configuration files.</li> +<li>You can override the default configuration : + Copy the conf folder any ...-template... you need and update according to your needs.</li> +</ul> +<p>database.properties +META-INF/persistence.conf +dnsservice.conf +domainlist.conf +fetchmail.conf +imapserver.conf +james-listmanager.conf +jcr-repository.conf +jmx.properties +lmtpserver.conf +log4j.properties +mailetcontainer.conf +mailbox.conf +mailserver.conf +mailrepositorystore.conf +pop3server.conf +recipientrewritetable.conf +smtpserver.conf +sqlResources.conf +usersrepository.conf +wrapper.conf +lib folder (for your additional jar, e.g. JDBC drviers,...)</p> +<p>James is packaged with virtual hosting enabled, JPA (Derby database) storage for the mails, users, and domains. +On SMTP (see smtpserver.conf config) + * authRequired is true by default, so you can safely deploy James on the Internet (it won't be an open relay). + * verifyIdentity is true by default (you can only send mails with a FROM being the authenticated user).</p> +<p>To use another database: + * Edit the database.properties and change the values according to your database. + * Add the needed JDBC driver jar in the ./conf/lib folder according to your database.</p> +<p>Step 5: Start</p> +<h6></h6> +<p>$ cd bin +$ ./james start + * !! you need libc6 installed on Linux !! - sudo apt-get install libc6-i386 libc6-dev-i386 on ubuntu + * You can see log result in the log/james-server.log file.</p> +<p>Step 6: Create Domains and Users</p> +<h6></h6> +<p>Time to add domains and users. +We will show how to via the james-cli (client interface). +You also can achieve this via JMX (launch jconsole). JMX has more operations tha james-cli.</p> +<ul> +<li>cd bin</li> +<li>james-cli -h localhost -p 9999 adddomain mydomain.tld</li> +<li> +<p>james-cli -h localhost -p 9999 adduser myu...@mydomain.tld mypassword</p> +</li> +<li> +<p>The username to use in your mail client will be myu...@mydomain.tld</p> +</li> +</ul> +<p>Step 7: Test</p> +<h6></h6> +<p>$ telnet 127.0.0.1 25 +Trying 127.0.0.1... +Connected to localhost. +Escape character is '^]'. +220 172.16.1.131 SMTP Server (JAMES SMTP Server 3.0-beta4) ready Sat, 6 Nov 2010 17:31:33 +0100 (CET) +ehlo test +250-172.16.1.131 Hello test (aoscommunity.com [127.0.0.1]) +250-PIPELINING +250-ENHANCEDSTATUSCODES +250 8BITMIME +mail from:<YOUR_NAME@YOUR_DOMAIN> +250 2.1.0 Sender <YOUR_NAME@YOUR_DOMAIN> OK +rcpt to:<YOUR_NAME@YOUR_DOMAIN> +250 2.1.5 Recipient <YOUR_NAME@YOUR_DOMAIN> OK +data +354 Ok Send data ending with <CRLF>.<CRLF> +subject: test</p> +<p>this is a test +. +250 2.6.0 Message received +quit +Connection closed by foreign host.</p> +<p>Step 8: Manage</p> +<h6></h6> +<p>8.1. Manage via james-cli</p> +<p>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</p> +<p>8.2. Manage via JMX</p> +<ul> +<li>Launch jconsole (or any other JMX client) and connect on URL=service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi</li> +<li>Select the MBeans tab and open the org.apache.james node to view attributes and execute operations.</li> +</ul> +<p>Step 9: Monitor</p> +<h6></h6> +<ul> +<li> +<p>Monitor the ./log/james-server.log log file.</p> +</li> +<li> +<p>Monitor via JMX (launch any JMX client and connect to URL=service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi)</p> +</li> +<li> +<p>Check ./var folder usage</p> +<p>mail ++-error ++-address-error ++-relay-denied ++-spam</p> +<p>store ++-maildir ++-derby ++-jackrabbit ++-activemq + +-brokers + +-james + +-blob-transfer + +-outgoing + +-spool</p> +</li> +<li> +<p>Check /tmp folder usage</p> +</li> +</ul> +<p></pre> +Time to fine-tune your James Server!</p> +<p>Read more on the <a href="install.html">install</a> , <a href="config.html">configure</a> , <a href="manage.html">manage</a> , <a href="monitor.html">monitor</a> and <a href="dev.html">develop</a> pages.</p></div></div> + <div class="clear"></div> + </div> + + <div id="copyright" class="container_16"> + <p>Copyright © 2011 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p> + </div> + </body> +</html>