mirror of
https://github.com/moparisthebest/mailiverse
synced 2024-11-24 17:42:16 -05:00
289 lines
18 KiB
Plaintext
289 lines
18 KiB
Plaintext
|
<?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>
|