JAMES-2089 Make server/app configuration work out of the box
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ee131ea6 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ee131ea6 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ee131ea6 Branch: refs/heads/master Commit: ee131ea6a31a71aec31931c9272cdf21358e9944 Parents: 02d86a4 Author: benwa <[email protected]> Authored: Wed Jul 5 09:56:39 2017 +0700 Committer: benwa <[email protected]> Committed: Wed Jul 5 09:56:39 2017 +0700 ---------------------------------------------------------------------- .../src/main/resources/dnsservice-template.xml | 65 -- server/app/src/main/resources/dnsservice.xml | 65 ++ .../src/main/resources/domainlist-template.xml | 63 -- server/app/src/main/resources/domainlist.xml | 63 ++ .../app/src/main/resources/events-template.xml | 90 -- server/app/src/main/resources/events.xml | 90 ++ .../src/main/resources/fetchmail-template.xml | 288 ------ server/app/src/main/resources/fetchmail.xml | 288 ++++++ .../src/main/resources/hbase-site-template.xml | 33 - .../src/main/resources/imapserver-template.xml | 77 -- server/app/src/main/resources/imapserver.xml | 77 ++ .../app/src/main/resources/indexer-template.xml | 33 - server/app/src/main/resources/indexer.xml | 33 + .../james-database-template.properties | 40 - .../main/resources/james-database.properties | 40 + .../main/resources/jcr-repository-template.xml | 72 -- .../app/src/main/resources/jcr-repository.xml | 72 ++ .../src/main/resources/jmx-template.properties | 28 - server/app/src/main/resources/jmx.properties | 28 + .../src/main/resources/lmtpserver-template.xml | 77 -- server/app/src/main/resources/lmtpserver.xml | 77 ++ .../main/resources/log4j-template.properties | 140 --- .../src/main/resources/mailbox-jcr-template.cnd | 74 -- server/app/src/main/resources/mailbox-jcr.cnd | 74 ++ .../mailbox-maildir-template.properties | 25 - .../main/resources/mailbox-maildir.properties | 25 + .../app/src/main/resources/mailbox-template.xml | 34 - server/app/src/main/resources/mailbox.xml | 34 + .../main/resources/mailetcontainer-template.xml | 518 ---------- .../app/src/main/resources/mailetcontainer.xml | 518 ++++++++++ .../resources/mailrepositorystore-template.xml | 96 -- .../src/main/resources/mailrepositorystore.xml | 96 ++ .../resources/managesieveserver-template.xml | 95 -- .../src/main/resources/managesieveserver.xml | 95 ++ .../src/main/resources/pop3server-template.xml | 81 -- server/app/src/main/resources/pop3server.xml | 81 ++ .../app/src/main/resources/quota-template.xml | 132 --- server/app/src/main/resources/quota.xml | 132 +++ .../recipientrewritetable-template.xml | 57 -- .../main/resources/recipientrewritetable.xml | 57 ++ .../main/resources/sieverepository-template.xml | 23 - .../app/src/main/resources/sieverepository.xml | 23 + .../src/main/resources/smtpserver-template.xml | 324 ------- server/app/src/main/resources/smtpserver.xml | 324 +++++++ .../main/resources/sqlResources-template.xml | 938 ------------------- .../main/resources/usersrepository-template.xml | 81 -- .../app/src/main/resources/usersrepository.xml | 81 ++ .../resources/usersrepository23-template.xml | 36 - .../src/main/resources/usersrepository23.xml | 36 + 49 files changed, 2409 insertions(+), 3520 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/dnsservice-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/dnsservice-template.xml b/server/app/src/main/resources/dnsservice-template.xml deleted file mode 100644 index cf38e9f..0000000 --- a/server/app/src/main/resources/dnsservice-template.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<!-- DNS Service Block --> -<!-- --> -<!-- Specifies DNS Server information for use by various components inside --> -<!-- James. --> -<!-- --> -<!-- If autodiscover is true, James will attempt to autodiscover the DNS servers configured on your underlying system.--> -<!-- Currently, this works if the OS has a unix-like /etc/resolv.conf,--> -<!-- or the system is Windows based with ipconfig or winipcfg.--> -<!-- --> -<!-- If no DNS servers are found and you have not specified any below, 127.0.0.1 will be used--> -<!-- If you use autodiscover and add DNS servers manually a combination of all the dns servers will be used --> -<!-- --> -<!-- Information includes a list of DNS Servers to be used by James. These are --> -<!-- specified by the server elements, each of which is a child element of the --> -<!-- servers element. Each server element is the IP address of a single DNS server. --> -<!-- The servers element can have multiple server children. --> -<dnsservice> - <servers> - <!--Enter ip address of your DNS server, one IP address per server --> - <!-- element. --> - <!-- - <server>127.0.0.1</server> - --> - </servers> - <!-- Change autodiscover to false if you would like to turn off autodiscovery --> - <!-- and set the DNS servers manually in the<servers>section --> - <autodiscover>true</autodiscover> - <authoritative>false</authoritative> - - <!-- Maximum number of entries to maintain in the DNS cache --> - <maxcachesize>50000</maxcachesize> - - <!-- Uncomment this if you want James to try a single server for each --> - <!-- multihomed mx host. --> - <!-- - <singleIPperMX>true</singleIPperMX> - --> -</dnsservice> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/dnsservice.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/dnsservice.xml b/server/app/src/main/resources/dnsservice.xml new file mode 100644 index 0000000..cf38e9f --- /dev/null +++ b/server/app/src/main/resources/dnsservice.xml @@ -0,0 +1,65 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<!-- See http://james.apache.org/server/3/config.html for usage --> + +<!-- DNS Service Block --> +<!-- --> +<!-- Specifies DNS Server information for use by various components inside --> +<!-- James. --> +<!-- --> +<!-- If autodiscover is true, James will attempt to autodiscover the DNS servers configured on your underlying system.--> +<!-- Currently, this works if the OS has a unix-like /etc/resolv.conf,--> +<!-- or the system is Windows based with ipconfig or winipcfg.--> +<!-- --> +<!-- If no DNS servers are found and you have not specified any below, 127.0.0.1 will be used--> +<!-- If you use autodiscover and add DNS servers manually a combination of all the dns servers will be used --> +<!-- --> +<!-- Information includes a list of DNS Servers to be used by James. These are --> +<!-- specified by the server elements, each of which is a child element of the --> +<!-- servers element. Each server element is the IP address of a single DNS server. --> +<!-- The servers element can have multiple server children. --> +<dnsservice> + <servers> + <!--Enter ip address of your DNS server, one IP address per server --> + <!-- element. --> + <!-- + <server>127.0.0.1</server> + --> + </servers> + <!-- Change autodiscover to false if you would like to turn off autodiscovery --> + <!-- and set the DNS servers manually in the<servers>section --> + <autodiscover>true</autodiscover> + <authoritative>false</authoritative> + + <!-- Maximum number of entries to maintain in the DNS cache --> + <maxcachesize>50000</maxcachesize> + + <!-- Uncomment this if you want James to try a single server for each --> + <!-- multihomed mx host. --> + <!-- + <singleIPperMX>true</singleIPperMX> + --> +</dnsservice> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/domainlist-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/domainlist-template.xml b/server/app/src/main/resources/domainlist-template.xml deleted file mode 100644 index 4147550..0000000 --- a/server/app/src/main/resources/domainlist-template.xml +++ /dev/null @@ -1,63 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<!-- Domainnames identifies the DNS namespace served by this instance of James. --> -<!-- These domainnames are used for both matcher/mailet processing and SMTP auth --> -<!-- to determine when a mail is intended for local delivery. --> -<!-- --> -<!-- If autodetect is TRUE, James wil attempt to discover its own host name AND --> -<!-- use any explicitly specified servernames. --> -<!-- If autodetect is FALSE, James will use only the specified domainnames. --> -<!-- --> -<!-- If autodetectIP is not FALSE, James will also allow add the IP address for each servername. --> -<!-- The automatic IP detection is to support RFC 2821, Sec 4.1.3, address literals. --> -<!-- --> -<!-- To override autodetected domainames names simply add explicit domainname elements. --> -<!-- In most cases this will be necessary. --> -<!-- By default, the domainname 'localhost' is specified. This can be removed, if required. --> -<!-- --> -<!-- Warning: If you are using fetchmail it is important to include the --> -<!-- fetched domains in the server name list to prevent looping. --> - -<!-- JPA implementation for DomainList --> -<domainlist class="org.apache.james.domainlist.jpa.JPADomainList"> - <autodetect>true</autodetect> - <autodetectIP>true</autodetectIP> - <defaultDomain>localhost</defaultDomain> -</domainlist> - -<!-- XML based implementation for DomainList --> -<!-- -<domainlist class="org.apache.james.domainlist.xml.XMLDomainList"> - <domainnames> - <domainname>localhost</domainname> - </domainnames> - <autodetect>true</autodetect> - <autodetectIP>true</autodetectIP> - <defaultDomain>localhost</defaultDomain> -</domainlist> ---> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/domainlist.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/domainlist.xml b/server/app/src/main/resources/domainlist.xml new file mode 100644 index 0000000..4147550 --- /dev/null +++ b/server/app/src/main/resources/domainlist.xml @@ -0,0 +1,63 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<!-- See http://james.apache.org/server/3/config.html for usage --> + +<!-- Domainnames identifies the DNS namespace served by this instance of James. --> +<!-- These domainnames are used for both matcher/mailet processing and SMTP auth --> +<!-- to determine when a mail is intended for local delivery. --> +<!-- --> +<!-- If autodetect is TRUE, James wil attempt to discover its own host name AND --> +<!-- use any explicitly specified servernames. --> +<!-- If autodetect is FALSE, James will use only the specified domainnames. --> +<!-- --> +<!-- If autodetectIP is not FALSE, James will also allow add the IP address for each servername. --> +<!-- The automatic IP detection is to support RFC 2821, Sec 4.1.3, address literals. --> +<!-- --> +<!-- To override autodetected domainames names simply add explicit domainname elements. --> +<!-- In most cases this will be necessary. --> +<!-- By default, the domainname 'localhost' is specified. This can be removed, if required. --> +<!-- --> +<!-- Warning: If you are using fetchmail it is important to include the --> +<!-- fetched domains in the server name list to prevent looping. --> + +<!-- JPA implementation for DomainList --> +<domainlist class="org.apache.james.domainlist.jpa.JPADomainList"> + <autodetect>true</autodetect> + <autodetectIP>true</autodetectIP> + <defaultDomain>localhost</defaultDomain> +</domainlist> + +<!-- XML based implementation for DomainList --> +<!-- +<domainlist class="org.apache.james.domainlist.xml.XMLDomainList"> + <domainnames> + <domainname>localhost</domainname> + </domainnames> + <autodetect>true</autodetect> + <autodetectIP>true</autodetectIP> + <defaultDomain>localhost</defaultDomain> +</domainlist> +--> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/events-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/events-template.xml b/server/app/src/main/resources/events-template.xml deleted file mode 100644 index 536278a..0000000 --- a/server/app/src/main/resources/events-template.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<events> - <!-- By default the event system is in memory based, providing better performances but is not - distributed and won't do the work with multiples servers --> - <type>default</type> - - <!-- Do you want to wait for MailboxListeners to be executed before returning result to the user ? - - If yes set this to synchronous - If no set this to asynchronous - If you want to use default supported behaviour exposed by listeners set this to mixed - --> - <delivery>synchronous</delivery> - - <!-- Broadcast event system will send messages to all your James servers. - - It is the only viable options if you rely on Mailbox Listeners that do not perform well in a distributed system. - - Here follows a non exhaustive list of such Mailbox Listeners : - - Memory quota based system - - Lucene based search system - - Workload is higher because event needs to be serialized and de serialized. - - Also note that depending on the publisher you use, messages might be either lost or duplicated, implying wrong - indexing or wrong quota count on network partitions. - - Here follows a sample configuration : - --> - <!-- - <type>broadcast</type> - <serialization>json</serialization> - <publisher>kafka</publisher> - --> - - <!-- - Further notes on the choice you had here : - - serialization : you have to choices : either json or message-pack - - message-pack is a binary representation for json, and is 2 times lighter by average, but is 2 time slower to serialize and de serialize. - This choice allows you to trade compute against network. - - publisher : Publish - subscribe used. The only current implementation is Kafka. - --> - - <!-- Registered event system - - Scalable event system based on registration : each James server listen on his own topic and manage registrations on - mailbox paths in order to receive events interesting him. - - This configuration does not support distributed unfriendly Mailbox Listeners (see the non exhaustive list above) for obvious reasons. - --> - <!-- - <type>registered</type> - <serialization>json</serialization> - <registration>cassandra</registration> - <publisher>kafka</publisher> - --> - - <!-- - The only registration system available is Cassandra, used in an available fashion. This means there is no warranties, - either at least one delivery nor at most one delivery. But you get the certitude that the system will always be available. - --> - -</events> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/events.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/events.xml b/server/app/src/main/resources/events.xml new file mode 100644 index 0000000..536278a --- /dev/null +++ b/server/app/src/main/resources/events.xml @@ -0,0 +1,90 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<events> + <!-- By default the event system is in memory based, providing better performances but is not + distributed and won't do the work with multiples servers --> + <type>default</type> + + <!-- Do you want to wait for MailboxListeners to be executed before returning result to the user ? + + If yes set this to synchronous + If no set this to asynchronous + If you want to use default supported behaviour exposed by listeners set this to mixed + --> + <delivery>synchronous</delivery> + + <!-- Broadcast event system will send messages to all your James servers. + + It is the only viable options if you rely on Mailbox Listeners that do not perform well in a distributed system. + + Here follows a non exhaustive list of such Mailbox Listeners : + - Memory quota based system + - Lucene based search system + + Workload is higher because event needs to be serialized and de serialized. + + Also note that depending on the publisher you use, messages might be either lost or duplicated, implying wrong + indexing or wrong quota count on network partitions. + + Here follows a sample configuration : + --> + <!-- + <type>broadcast</type> + <serialization>json</serialization> + <publisher>kafka</publisher> + --> + + <!-- + Further notes on the choice you had here : + + serialization : you have to choices : either json or message-pack + + message-pack is a binary representation for json, and is 2 times lighter by average, but is 2 time slower to serialize and de serialize. + This choice allows you to trade compute against network. + + publisher : Publish - subscribe used. The only current implementation is Kafka. + --> + + <!-- Registered event system + + Scalable event system based on registration : each James server listen on his own topic and manage registrations on + mailbox paths in order to receive events interesting him. + + This configuration does not support distributed unfriendly Mailbox Listeners (see the non exhaustive list above) for obvious reasons. + --> + <!-- + <type>registered</type> + <serialization>json</serialization> + <registration>cassandra</registration> + <publisher>kafka</publisher> + --> + + <!-- + The only registration system available is Cassandra, used in an available fashion. This means there is no warranties, + either at least one delivery nor at most one delivery. But you get the certitude that the system will always be available. + --> + +</events> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/fetchmail-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/fetchmail-template.xml b/server/app/src/main/resources/fetchmail-template.xml deleted file mode 100644 index 3c6a890..0000000 --- a/server/app/src/main/resources/fetchmail-template.xml +++ /dev/null @@ -1,288 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<!-- Fetch mail block, fetches mail from message servers and inserts it into the incoming spool --> -<!-- Warning: It is important to prevent mail from looping by setting the --> -<!-- fetched domains in the<servernames>section of the<James>block --> -<!-- above. This block is disabled by default. --> - -<!-- See http://james.apache.org/server/2.3.0/fetchmail_configuration.html for detailed --> -<!-- configuration instructions and examples. --> - -<!-- I M P O R T A N T --> -<!-- Setting markseen="true" will have no effect on many POP3 servers as the POP3 --> -<!-- protocol does not require the markSeen flag to be supported. When this is the --> -<!-- case, the only way to ensure that messages are fetched just once is to delete --> -<!-- fetched messages from the server with leaveonserver="false". --> - -<!-- If you want to perform mailet processing on messages fetched by fetchmail, --> -<!-- use the HasMailAttribute matcher to detect messages with the MailAttribute --> -<!-- org.apache.james.fetchmail.taskName. The attribute's value is that of the --> -<!-- fetch task's name parameter described below. --> - -<fetchmail enabled="false"> - - <!-- The number of threads to use for the scheduled execution --> - <threads>5</threads> - - <!-- The JMX Name to use --> - <jmxName>fetchmail</jmxName> - - <!-- You can have as many fetch tasks as you want, but each must have a --> - <!-- unique name by which it is identified. --> - <!-- Each task runs at the specified<interval>, tasks may run concurrently. --> - - <fetch name="mydomain.com"> - <!-- There must be one<accounts>entry per fetch task. An accounts entry can have 0 to many --> - <!--<account>entries and 0 or 1<alllocal>entries.<alllocal>generates --> - <!--<accounts>for every user defined to James.<accounts>run consecutively within the --> - <!-- scope of their fetch task and inherit all the properties of the fetch task. --> - - <!-- The advantage of running consecutively is that we can avoid conflicting fetch tasks --> - <!-- operating concurrently on the same mailboxes. --> - - <!-- Fetchmail attempts to deduce the correct recipient of each message, but sometimes there is --> - <!-- insufficient information in the headers to do so. When the correct recipient cannot be deduced, --> - <!-- fetchmail can be configured to leave the mail on the server or deliver it to a default recipient. --> - - <!-- When a message server delivers mail for a single user to a specific INBOX you can define --> - <!-- each user to James (via the console) and use<alllocal>with ignorercpt-header="true" to deliver mail --> - <!-- directly from each users INBOX onto James' spool. There is no need to update 'config.xml' --> - <!-- each time you add or remove users, fetchmail checks the list of users at the start of each fetch. --> - - <!-- When a message server provides an account that gives access to all mail for a domain through a single --> - <!-- INBOX, you can use an<account>to fetch all the mail for that domain, using the filter facilities --> - <!-- described below to reject unwanted messages. --> - - <!-- When a message server supports BOTH delivery for a single user to a specific INBOX and access to all mail --> - <!-- for a domain through a single INBOX, you can use<alllocal>and<account>together to guarantee that all --> - <!-- local mail gets delivered to the correct user and all unwanted mail is deleted from the message --> - <!-- server. See http://james.apache.org/server/2.3.0/fetchmail_configuration.html for details. --> - - <!-- Limitations and Future Directions --> - <!-- 1)<alllocal>requires the password for all accounts for a domain on the message server be the same. True --> - <!-- in many cases, but not all. A future version might work out a way of associating James users with a set --> - <!-- of account properties. --> - <!-- 2)<alllocal>will try to access an INBOX on the message server for all local users. The instance of James used --> - <!-- for this purpose should not have extraneous users defined. This is inefficient, but not fatal. --> - <!-- Again, a future version might work out a way of associating James users with message account properties. --> - <!-- This would allow all local users with an account on a particular message server to be fetched. --> - - <accounts> - <alllocal userprefix="" usersuffix="@myaccount" password="password" recipientprefix="" recipientsuffix="@mydomain.com" ignorercpt-header="true"/> - <account user="myglobalaccount" password="password" recipient="postmaster@localhost" ignorercpt-header="false"/> - <!-- Custom recipient header handling --> - <!-- this example search an header named X-Envelope-To and use the recipient found in that header --> - <!-- - <account customrcpt-header="X-Envelope-To" user="myglobalaccount" password="password" recipient="postmaster@localhost" ignorercpt-header="false"/> - --> - </accounts> - - <!-- The address of the server from which to fetch the mail --> - <host>pop.server.com</host> - - <!-- How frequently this host is checked - in milliseconds. 600000 is every ten minutes --> - <interval>600000</interval> - - <!-- name of the javamail provider you wish to use --> - <!-- (pop3, imap, etc. --> - <javaMailProviderName>pop3</javaMailProviderName> - - <!-- name of the folder to open --> - <javaMailFolderName>INBOX</javaMailFolderName> - - <!-- Properties to be applied to the JavaMail Session. --> - <!-- Properties are specific to the selected JavaMail provider. --> - <!-- Any number may be specified. --> - <javaMailProperties> - <!-- Set the connection timeout to 3 minutes --> - <property name="mail.pop3.connectiontimeout" value="180000"/> - <!-- Set the I/O timeout to 3 minutes --> - <property name="mail.pop3.timeout" value="180000"/> - </javaMailProperties> - - <!-- Retrieve both old (seen) and new messages from mailserver. The default --> - <!-- is to fetch only messages the server has not marked as seen --> - <fetchall>false</fetchall> - - <!-- If the folder javaMailFolderName contains subfolders do you --> - <!-- want to recurse into the subfolders as well? true = yes, false = no --> - <recursesubfolders>false</recursesubfolders> - - <!-- If the From: header of a fetched message has a valid user part --> - <!-- but no domain part the fetch task will correct this by appending --> - <!-- a default domain. eg: 'james' becomes 'james@defaultdomain' --> - <!-- The default behaviour is to append the canonical host name of the James server. --> - <!-- You can override this behaviour here by specifying the name of the domain --> - <!-- you wish to append. The name you choose must be a local server or you can --> - <!-- use the name localhost --> - <!-- Example using a locally served domain --> - <!-- - <defaultdomain>mydomain.com</defaultdomain> - --> - <!-- Example using localhost --> - <!-- - <defaultdomain>localhost</defaultdomain> - --> - - <!-- Specify what happens to messages succesfully fetched from the mailserver --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <fetched leaveonserver="false" markseen="true"/> - - <!-- Specify the index of the RECEIVED Header used to compute the remote address and remote host name --> - <!-- and what happens to messages that contain an invalid header at that index. --> - <!-- Matchers such as InSpammerBlacklist use the remote address and/or remote host name to identify illegitimate --> - <!-- remote MTAs. --> - <!-- This tag is optional. If omitted, the remote address will be set to 127.0.0.1 and the remote domain --> - <!-- will be set to 'localhost'. Both are almost always considered legitimate. --> - <!-- index --> - <!-- The zero based index of the RECEIVED Header used to compute the remote address and remote host name --> - <!-- of the MTA that delivered a fetched message. --> - <!-- Typically, the first (index = 0) RECEIVED Header is for the local MTA that delivers mail to the message store --> - <!-- and the second RECEIVED Header (index = 1) is the remote domain delivering mail to the MTA, so the second --> - <!-- RECEIVED Header is the one to use. --> - <!-- Some configurations will differ. Look at the RECEIVED Headers and set the index to point to the first remote MTA. --> - <!-- An index of -1 is is interpreted as use 127.0.0.1 for the remote address and use 'localhost' for the remote host name. --> - <!-- reject --> - <!-- if true, messages whose received header at the specified index is invalid will be rejected --> - <!-- if false, messages whose received header at the specified index is invalid will be accepted --> - <!-- and the Mail Attribute "org.apache.james.fetchmail.isInvalidReceivedHeader" --> - <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> - <!-- The following apply if reject="true" and a message is rejected... --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <remotereceivedheader index="1" reject="true" leaveonserver="true" markseen="false"/> - - <!-- Specify what happens to messages whose size exceeds the specified limit. --> - <!-- This tag is optional. If omitted, there is no limit. --> - <!-- limit --> - <!-- The maximum message size in Kilobytes of messages injected into James. --> - <!-- A value of 0 means no limit. --> - <!-- reject --> - <!-- if true, messages whose size exceeds the limit will be rejected --> - <!-- if false, messages whose size exceeds the limit will be stripped of their message bodies --> - <!-- prior to injection into James and the MailAttribute "org.apache.james.fetchmail.isMaxMessageSizeExceeded" --> - <!-- will be added to the message with the value set to the original message size in bytes. --> - <!-- Use the HasMailAttribute matcher to detect them. --> - <!-- The following apply if reject="true" and a message is rejected... --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <maxmessagesize limit="0" reject="false" leaveonserver="true" markseen="false"/> - - <!-- Specify what happens to undeliverable messages --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <undeliverable leaveonserver="true" markseen="false"/> - - <!-- Specify what happens to messages for which a recipient cannot be determined. --> - <!-- defer --> - <!-- if true, processing of messages for which a recipient cannot be determined will deferred --> - <!-- until the next fetch of the Account. This gives an opportunity for other Accounts in the --> - <!-- fetch task to determine the recipient and process the mail. --> - <!-- if false, messages for which a recipient cannot be determined are processed immediately. --> - <!-- reject --> - <!-- if true, messages for which a recipient cannot be determined will be rejected --> - <!-- if false, messages for which a recipient cannot be determined will be accepted, --> - <!-- the account recipient will be used and the MailAttribute "org.apache.james.fetchmail.isRecipientNotFound" --> - <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> - <!-- The following apply if reject="true" and a message is rejected... --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <recipientnotfound defer="true" reject="true" leaveonserver="true" markseen="false"/> - - <!-- Specify a list of recipients for whom messages will be rejected --> - <!-- and what happens to rejected messages. --> - <!-- The list can be comma, tab or space delimited. --> - <!-- reject --> - <!-- if true, messages for users on the blacklist will be rejected --> - <!-- if false, messages for users on the blacklist will be accepted --> - <!-- and the Mail Attribute "org.apache.james.fetchmail.isBlacklistedRecipient" --> - <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> - <!-- The following apply if reject="true" and a message is rejected... --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <blacklist reject="true" leaveonserver="true" markseen="false">wibble@localhost, flobble@localhost</blacklist> - - <!-- Specify if messages for users who are not defined to James should --> - <!-- be rejected and what happens to rejected messages. --> - <!-- reject --> - <!-- if true, messages for users who are not defined to James will be rejected --> - <!-- if false, messages for users who are not defined to James will be accepted --> - <!-- and the Mail Attribute "org.apache.james.fetchmail.isUserUndefined" --> - <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> - <!-- The following apply if reject="true" and a message is rejected... --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <userundefined reject="true" leaveonserver="true" markseen="false" /> - - <!-- Specify if messages for recipients on remote hosts should --> - <!-- be rejected and what happens to rejected messages. --> - <!-- reject --> - <!-- if true, messages for remote recipients will be rejected --> - <!-- if false, messages for remote recipients will be accepted --> - <!-- and the Mail Attribute "org.apache.james.fetchmail.isRemoteRecipient" --> - <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> - <!-- The following apply if reject="true" and a message is rejected... --> - <!-- leaveonserver --> - <!-- if true, messages will be left on the server --> - <!-- if false, messages will be deleted from the server --> - <!-- markseen --> - <!-- if true, messages left on the server will be marked as seen --> - <!-- if false, messages left on the server will not be marked as seen --> - <remoterecipient reject="true" leaveonserver="true" markseen="false" /> - </fetch> - -</fetchmail> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/fetchmail.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/fetchmail.xml b/server/app/src/main/resources/fetchmail.xml new file mode 100644 index 0000000..3c6a890 --- /dev/null +++ b/server/app/src/main/resources/fetchmail.xml @@ -0,0 +1,288 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<!-- See http://james.apache.org/server/3/config.html for usage --> + +<!-- Fetch mail block, fetches mail from message servers and inserts it into the incoming spool --> +<!-- Warning: It is important to prevent mail from looping by setting the --> +<!-- fetched domains in the<servernames>section of the<James>block --> +<!-- above. This block is disabled by default. --> + +<!-- See http://james.apache.org/server/2.3.0/fetchmail_configuration.html for detailed --> +<!-- configuration instructions and examples. --> + +<!-- I M P O R T A N T --> +<!-- Setting markseen="true" will have no effect on many POP3 servers as the POP3 --> +<!-- protocol does not require the markSeen flag to be supported. When this is the --> +<!-- case, the only way to ensure that messages are fetched just once is to delete --> +<!-- fetched messages from the server with leaveonserver="false". --> + +<!-- If you want to perform mailet processing on messages fetched by fetchmail, --> +<!-- use the HasMailAttribute matcher to detect messages with the MailAttribute --> +<!-- org.apache.james.fetchmail.taskName. The attribute's value is that of the --> +<!-- fetch task's name parameter described below. --> + +<fetchmail enabled="false"> + + <!-- The number of threads to use for the scheduled execution --> + <threads>5</threads> + + <!-- The JMX Name to use --> + <jmxName>fetchmail</jmxName> + + <!-- You can have as many fetch tasks as you want, but each must have a --> + <!-- unique name by which it is identified. --> + <!-- Each task runs at the specified<interval>, tasks may run concurrently. --> + + <fetch name="mydomain.com"> + <!-- There must be one<accounts>entry per fetch task. An accounts entry can have 0 to many --> + <!--<account>entries and 0 or 1<alllocal>entries.<alllocal>generates --> + <!--<accounts>for every user defined to James.<accounts>run consecutively within the --> + <!-- scope of their fetch task and inherit all the properties of the fetch task. --> + + <!-- The advantage of running consecutively is that we can avoid conflicting fetch tasks --> + <!-- operating concurrently on the same mailboxes. --> + + <!-- Fetchmail attempts to deduce the correct recipient of each message, but sometimes there is --> + <!-- insufficient information in the headers to do so. When the correct recipient cannot be deduced, --> + <!-- fetchmail can be configured to leave the mail on the server or deliver it to a default recipient. --> + + <!-- When a message server delivers mail for a single user to a specific INBOX you can define --> + <!-- each user to James (via the console) and use<alllocal>with ignorercpt-header="true" to deliver mail --> + <!-- directly from each users INBOX onto James' spool. There is no need to update 'config.xml' --> + <!-- each time you add or remove users, fetchmail checks the list of users at the start of each fetch. --> + + <!-- When a message server provides an account that gives access to all mail for a domain through a single --> + <!-- INBOX, you can use an<account>to fetch all the mail for that domain, using the filter facilities --> + <!-- described below to reject unwanted messages. --> + + <!-- When a message server supports BOTH delivery for a single user to a specific INBOX and access to all mail --> + <!-- for a domain through a single INBOX, you can use<alllocal>and<account>together to guarantee that all --> + <!-- local mail gets delivered to the correct user and all unwanted mail is deleted from the message --> + <!-- server. See http://james.apache.org/server/2.3.0/fetchmail_configuration.html for details. --> + + <!-- Limitations and Future Directions --> + <!-- 1)<alllocal>requires the password for all accounts for a domain on the message server be the same. True --> + <!-- in many cases, but not all. A future version might work out a way of associating James users with a set --> + <!-- of account properties. --> + <!-- 2)<alllocal>will try to access an INBOX on the message server for all local users. The instance of James used --> + <!-- for this purpose should not have extraneous users defined. This is inefficient, but not fatal. --> + <!-- Again, a future version might work out a way of associating James users with message account properties. --> + <!-- This would allow all local users with an account on a particular message server to be fetched. --> + + <accounts> + <alllocal userprefix="" usersuffix="@myaccount" password="password" recipientprefix="" recipientsuffix="@mydomain.com" ignorercpt-header="true"/> + <account user="myglobalaccount" password="password" recipient="postmaster@localhost" ignorercpt-header="false"/> + <!-- Custom recipient header handling --> + <!-- this example search an header named X-Envelope-To and use the recipient found in that header --> + <!-- + <account customrcpt-header="X-Envelope-To" user="myglobalaccount" password="password" recipient="postmaster@localhost" ignorercpt-header="false"/> + --> + </accounts> + + <!-- The address of the server from which to fetch the mail --> + <host>pop.server.com</host> + + <!-- How frequently this host is checked - in milliseconds. 600000 is every ten minutes --> + <interval>600000</interval> + + <!-- name of the javamail provider you wish to use --> + <!-- (pop3, imap, etc. --> + <javaMailProviderName>pop3</javaMailProviderName> + + <!-- name of the folder to open --> + <javaMailFolderName>INBOX</javaMailFolderName> + + <!-- Properties to be applied to the JavaMail Session. --> + <!-- Properties are specific to the selected JavaMail provider. --> + <!-- Any number may be specified. --> + <javaMailProperties> + <!-- Set the connection timeout to 3 minutes --> + <property name="mail.pop3.connectiontimeout" value="180000"/> + <!-- Set the I/O timeout to 3 minutes --> + <property name="mail.pop3.timeout" value="180000"/> + </javaMailProperties> + + <!-- Retrieve both old (seen) and new messages from mailserver. The default --> + <!-- is to fetch only messages the server has not marked as seen --> + <fetchall>false</fetchall> + + <!-- If the folder javaMailFolderName contains subfolders do you --> + <!-- want to recurse into the subfolders as well? true = yes, false = no --> + <recursesubfolders>false</recursesubfolders> + + <!-- If the From: header of a fetched message has a valid user part --> + <!-- but no domain part the fetch task will correct this by appending --> + <!-- a default domain. eg: 'james' becomes 'james@defaultdomain' --> + <!-- The default behaviour is to append the canonical host name of the James server. --> + <!-- You can override this behaviour here by specifying the name of the domain --> + <!-- you wish to append. The name you choose must be a local server or you can --> + <!-- use the name localhost --> + <!-- Example using a locally served domain --> + <!-- + <defaultdomain>mydomain.com</defaultdomain> + --> + <!-- Example using localhost --> + <!-- + <defaultdomain>localhost</defaultdomain> + --> + + <!-- Specify what happens to messages succesfully fetched from the mailserver --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <fetched leaveonserver="false" markseen="true"/> + + <!-- Specify the index of the RECEIVED Header used to compute the remote address and remote host name --> + <!-- and what happens to messages that contain an invalid header at that index. --> + <!-- Matchers such as InSpammerBlacklist use the remote address and/or remote host name to identify illegitimate --> + <!-- remote MTAs. --> + <!-- This tag is optional. If omitted, the remote address will be set to 127.0.0.1 and the remote domain --> + <!-- will be set to 'localhost'. Both are almost always considered legitimate. --> + <!-- index --> + <!-- The zero based index of the RECEIVED Header used to compute the remote address and remote host name --> + <!-- of the MTA that delivered a fetched message. --> + <!-- Typically, the first (index = 0) RECEIVED Header is for the local MTA that delivers mail to the message store --> + <!-- and the second RECEIVED Header (index = 1) is the remote domain delivering mail to the MTA, so the second --> + <!-- RECEIVED Header is the one to use. --> + <!-- Some configurations will differ. Look at the RECEIVED Headers and set the index to point to the first remote MTA. --> + <!-- An index of -1 is is interpreted as use 127.0.0.1 for the remote address and use 'localhost' for the remote host name. --> + <!-- reject --> + <!-- if true, messages whose received header at the specified index is invalid will be rejected --> + <!-- if false, messages whose received header at the specified index is invalid will be accepted --> + <!-- and the Mail Attribute "org.apache.james.fetchmail.isInvalidReceivedHeader" --> + <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> + <!-- The following apply if reject="true" and a message is rejected... --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <remotereceivedheader index="1" reject="true" leaveonserver="true" markseen="false"/> + + <!-- Specify what happens to messages whose size exceeds the specified limit. --> + <!-- This tag is optional. If omitted, there is no limit. --> + <!-- limit --> + <!-- The maximum message size in Kilobytes of messages injected into James. --> + <!-- A value of 0 means no limit. --> + <!-- reject --> + <!-- if true, messages whose size exceeds the limit will be rejected --> + <!-- if false, messages whose size exceeds the limit will be stripped of their message bodies --> + <!-- prior to injection into James and the MailAttribute "org.apache.james.fetchmail.isMaxMessageSizeExceeded" --> + <!-- will be added to the message with the value set to the original message size in bytes. --> + <!-- Use the HasMailAttribute matcher to detect them. --> + <!-- The following apply if reject="true" and a message is rejected... --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <maxmessagesize limit="0" reject="false" leaveonserver="true" markseen="false"/> + + <!-- Specify what happens to undeliverable messages --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <undeliverable leaveonserver="true" markseen="false"/> + + <!-- Specify what happens to messages for which a recipient cannot be determined. --> + <!-- defer --> + <!-- if true, processing of messages for which a recipient cannot be determined will deferred --> + <!-- until the next fetch of the Account. This gives an opportunity for other Accounts in the --> + <!-- fetch task to determine the recipient and process the mail. --> + <!-- if false, messages for which a recipient cannot be determined are processed immediately. --> + <!-- reject --> + <!-- if true, messages for which a recipient cannot be determined will be rejected --> + <!-- if false, messages for which a recipient cannot be determined will be accepted, --> + <!-- the account recipient will be used and the MailAttribute "org.apache.james.fetchmail.isRecipientNotFound" --> + <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> + <!-- The following apply if reject="true" and a message is rejected... --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <recipientnotfound defer="true" reject="true" leaveonserver="true" markseen="false"/> + + <!-- Specify a list of recipients for whom messages will be rejected --> + <!-- and what happens to rejected messages. --> + <!-- The list can be comma, tab or space delimited. --> + <!-- reject --> + <!-- if true, messages for users on the blacklist will be rejected --> + <!-- if false, messages for users on the blacklist will be accepted --> + <!-- and the Mail Attribute "org.apache.james.fetchmail.isBlacklistedRecipient" --> + <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> + <!-- The following apply if reject="true" and a message is rejected... --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <blacklist reject="true" leaveonserver="true" markseen="false">wibble@localhost, flobble@localhost</blacklist> + + <!-- Specify if messages for users who are not defined to James should --> + <!-- be rejected and what happens to rejected messages. --> + <!-- reject --> + <!-- if true, messages for users who are not defined to James will be rejected --> + <!-- if false, messages for users who are not defined to James will be accepted --> + <!-- and the Mail Attribute "org.apache.james.fetchmail.isUserUndefined" --> + <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> + <!-- The following apply if reject="true" and a message is rejected... --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <userundefined reject="true" leaveonserver="true" markseen="false" /> + + <!-- Specify if messages for recipients on remote hosts should --> + <!-- be rejected and what happens to rejected messages. --> + <!-- reject --> + <!-- if true, messages for remote recipients will be rejected --> + <!-- if false, messages for remote recipients will be accepted --> + <!-- and the Mail Attribute "org.apache.james.fetchmail.isRemoteRecipient" --> + <!-- will be added to the message. Use the HasMailAttribute matcher to detect them. --> + <!-- The following apply if reject="true" and a message is rejected... --> + <!-- leaveonserver --> + <!-- if true, messages will be left on the server --> + <!-- if false, messages will be deleted from the server --> + <!-- markseen --> + <!-- if true, messages left on the server will be marked as seen --> + <!-- if false, messages left on the server will not be marked as seen --> + <remoterecipient reject="true" leaveonserver="true" markseen="false" /> + </fetch> + +</fetchmail> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/hbase-site-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/hbase-site-template.xml b/server/app/src/main/resources/hbase-site-template.xml deleted file mode 100644 index 5363b42..0000000 --- a/server/app/src/main/resources/hbase-site-template.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> -<!-- -/** - * Copyright 2010 The Apache Software Foundation - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ ---> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<configuration> -</configuration> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/imapserver-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/imapserver-template.xml b/server/app/src/main/resources/imapserver-template.xml deleted file mode 100644 index cc2ab1b..0000000 --- a/server/app/src/main/resources/imapserver-template.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<imapservers> - - <!-- IMAP server is enabled by default --> - <!-- Disabling blocks will stop them from listening, --> - <!-- but does not free as many resources as removing them would --> - <imapserver enabled="true"> - - <jmxName>imapserver</jmxName> - - <!-- Configure this if you want to bind to a specific inetaddress --> - <!-- port 143 is the well-known/IANA registered port for IMAP --> - <!-- port 993 is the well-known/IANA registered port for IMAPS ie over SSL/TLS --> - <!-- Please NOTE: you should add this IP also to your RemoteAddrNotInNetwork --> - <!-- in order to avoid relay check for locally generated bounces --> - <bind>0.0.0.0:143</bind> - - <connectionBacklog>200</connectionBacklog> - - <!-- Set to true to use TLS for the Socket. - To use this you need to copy sunjce_provider.jar to /path/james/lib directory. - --> - <tls socketTLS="false" startTLS="false"> - <!-- To create a new keystore execute: - keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore - --> - <keystore>file://conf/keystore</keystore> - <secret>yoursecret</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - </tls> - - <!-- This is the name used by the server to identify itself in the IMAP --> - <!-- protocol. If autodetect is TRUE, the server will discover its --> - <!-- own host name and use that in the protocol. If discovery fails, --> - <!-- the value of 'localhost' is used. If autodetect is FALSE, James --> - <!-- will use the specified value. --> - <!-- - <helloName autodetect="true">myMailServer</helloName> - --> - - <!-- Connection timeout is 30 minutes and can not be changed - See rfc2060 5.4 for details --> - - <!-- Set the maximum simultaneous incoming connections for this service --> - <connectionLimit>0</connectionLimit> - - <!-- Set the maximum simultaneous incoming connections per IP for this service --> - <connectionLimitPerIP>0</connectionLimitPerIP> - - </imapserver> - -</imapservers> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/imapserver.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/imapserver.xml b/server/app/src/main/resources/imapserver.xml new file mode 100644 index 0000000..cc2ab1b --- /dev/null +++ b/server/app/src/main/resources/imapserver.xml @@ -0,0 +1,77 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<!-- See http://james.apache.org/server/3/config.html for usage --> + +<imapservers> + + <!-- IMAP server is enabled by default --> + <!-- Disabling blocks will stop them from listening, --> + <!-- but does not free as many resources as removing them would --> + <imapserver enabled="true"> + + <jmxName>imapserver</jmxName> + + <!-- Configure this if you want to bind to a specific inetaddress --> + <!-- port 143 is the well-known/IANA registered port for IMAP --> + <!-- port 993 is the well-known/IANA registered port for IMAPS ie over SSL/TLS --> + <!-- Please NOTE: you should add this IP also to your RemoteAddrNotInNetwork --> + <!-- in order to avoid relay check for locally generated bounces --> + <bind>0.0.0.0:143</bind> + + <connectionBacklog>200</connectionBacklog> + + <!-- Set to true to use TLS for the Socket. + To use this you need to copy sunjce_provider.jar to /path/james/lib directory. + --> + <tls socketTLS="false" startTLS="false"> + <!-- To create a new keystore execute: + keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore + --> + <keystore>file://conf/keystore</keystore> + <secret>yoursecret</secret> + <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> + </tls> + + <!-- This is the name used by the server to identify itself in the IMAP --> + <!-- protocol. If autodetect is TRUE, the server will discover its --> + <!-- own host name and use that in the protocol. If discovery fails, --> + <!-- the value of 'localhost' is used. If autodetect is FALSE, James --> + <!-- will use the specified value. --> + <!-- + <helloName autodetect="true">myMailServer</helloName> + --> + + <!-- Connection timeout is 30 minutes and can not be changed - See rfc2060 5.4 for details --> + + <!-- Set the maximum simultaneous incoming connections for this service --> + <connectionLimit>0</connectionLimit> + + <!-- Set the maximum simultaneous incoming connections per IP for this service --> + <connectionLimitPerIP>0</connectionLimitPerIP> + + </imapserver> + +</imapservers> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/indexer-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/indexer-template.xml b/server/app/src/main/resources/indexer-template.xml deleted file mode 100644 index 24c52e7..0000000 --- a/server/app/src/main/resources/indexer-template.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<indexer> - <!-- supported providers are: --> - <!-- lazyIndex, luceneIndex --> - <!-- --> - <provider>luceneIndex</provider> -</indexer> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/indexer.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/indexer.xml b/server/app/src/main/resources/indexer.xml new file mode 100644 index 0000000..24c52e7 --- /dev/null +++ b/server/app/src/main/resources/indexer.xml @@ -0,0 +1,33 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<!-- See http://james.apache.org/server/3/config.html for usage --> + +<indexer> + <!-- supported providers are: --> + <!-- lazyIndex, luceneIndex --> + <!-- --> + <provider>luceneIndex</provider> +</indexer> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/james-database-template.properties ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/james-database-template.properties b/server/app/src/main/resources/james-database-template.properties deleted file mode 100644 index 10d0a2a..0000000 --- a/server/app/src/main/resources/james-database-template.properties +++ /dev/null @@ -1,40 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# This template file can be used as example for James Server configuration -# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS - -# See http://james.apache.org/server/3/config.html for usage - -# Use derby as default -database.driverClassName=org.apache.derby.jdbc.EmbeddedDriver -database.url=jdbc:derby:../var/store/derby;create=true -database.username=app -database.password=app - -# Supported adapters are: -# DB2, DERBY, H2, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE -vendorAdapter.database=DERBY - -# Use streaming for Blobs -# This is only supported on a limited set of databases atm. You should check if its supported by your DB before enable -# it. -# -# See: -# http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html #7.11. LOB Streaming -# -openjpa.streaming=false \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/james-database.properties ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/james-database.properties b/server/app/src/main/resources/james-database.properties new file mode 100644 index 0000000..b3ac7eb --- /dev/null +++ b/server/app/src/main/resources/james-database.properties @@ -0,0 +1,40 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# This template file can be used as example for James Server configuration +# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS + +# See http://james.apache.org/server/3/config.html for usage + +# Use derby as default +database.driverClassName=org.apache.derby.jdbc.EmbeddedDriver +database.url=jdbc:derby:../var/store/derby;create=true +database.username=app +database.password=app + +# Supported adapters are: +# DB2, DERBY, H2, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE +vendorAdapter.database=DERBY + +# Use streaming for Blobs +# This is only supported on a limited set of databases atm. You should check if its supported by your DB before enable +# it. +# +# See: +# http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html #7.11. LOB Streaming +# +openjpa.streaming=false \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/jcr-repository-template.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/jcr-repository-template.xml b/server/app/src/main/resources/jcr-repository-template.xml deleted file mode 100644 index 96f99f7..0000000 --- a/server/app/src/main/resources/jcr-repository-template.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<!DOCTYPE Repository - PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN" - "http://jackrabbit.apache.org/dtd/repository-2.0.dtd"> - -<Repository> - <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> - <param name="path" value="${rep.home}/repository"/> - </FileSystem> - <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/> - <Security appName="Jackrabbit"> - <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager" workspaceName="security"> - </SecurityManager> - <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"> - </AccessManager> - <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule"> - <param name="anonymousId" value="anonymous"/> - <param name="adminId" value="admin"/> - </LoginModule> - </Security> - <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="james"/> - <Workspace name="${wsp.name}"> - <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> - <param name="path" value="${wsp.home}"/> - </FileSystem> - <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager"> - <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/> - <param name="schemaObjectPrefix" value="${wsp.name}_"/> - </PersistenceManager> - <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> - <param name="path" value="${wsp.home}/index"/> - <param name="supportHighlighting" value="true"/> - </SearchIndex> - </Workspace> - <Versioning rootPath="${rep.home}/version"> - <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> - <param name="path" value="${rep.home}/version" /> - </FileSystem> - <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager"> - <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/> - <param name="schemaObjectPrefix" value="version_"/> - </PersistenceManager> - </Versioning> - <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> - <param name="path" value="${rep.home}/repository/index"/> - <param name="supportHighlighting" value="true"/> - </SearchIndex> -</Repository> http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/jcr-repository.xml ---------------------------------------------------------------------- diff --git a/server/app/src/main/resources/jcr-repository.xml b/server/app/src/main/resources/jcr-repository.xml new file mode 100644 index 0000000..96f99f7 --- /dev/null +++ b/server/app/src/main/resources/jcr-repository.xml @@ -0,0 +1,72 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<!-- See http://james.apache.org/server/3/config.html for usage --> + +<!DOCTYPE Repository + PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN" + "http://jackrabbit.apache.org/dtd/repository-2.0.dtd"> + +<Repository> + <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> + <param name="path" value="${rep.home}/repository"/> + </FileSystem> + <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/> + <Security appName="Jackrabbit"> + <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager" workspaceName="security"> + </SecurityManager> + <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"> + </AccessManager> + <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule"> + <param name="anonymousId" value="anonymous"/> + <param name="adminId" value="admin"/> + </LoginModule> + </Security> + <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="james"/> + <Workspace name="${wsp.name}"> + <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> + <param name="path" value="${wsp.home}"/> + </FileSystem> + <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager"> + <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/> + <param name="schemaObjectPrefix" value="${wsp.name}_"/> + </PersistenceManager> + <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> + <param name="path" value="${wsp.home}/index"/> + <param name="supportHighlighting" value="true"/> + </SearchIndex> + </Workspace> + <Versioning rootPath="${rep.home}/version"> + <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> + <param name="path" value="${rep.home}/version" /> + </FileSystem> + <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager"> + <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/> + <param name="schemaObjectPrefix" value="version_"/> + </PersistenceManager> + </Versioning> + <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> + <param name="path" value="${rep.home}/repository/index"/> + <param name="supportHighlighting" value="true"/> + </SearchIndex> +</Repository> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
