<?xml version="1.0"?>
<!DOCTYPE config [
<!ENTITY listserverConfig SYSTEM "../conf/james-listmanager.xml">
<!ENTITY listserverStores SYSTEM "../conf/james-liststores.xml">
<!ENTITY fetchmailConfig SYSTEM "../conf/james-fetchmail.xml">
]>
*******mailet意思是:邮件处理程序(邮件处理引擎)*******
*******matcher意思为:匹配器***********
<!-- Configuration file for the ASF James server -->
这个是ASF James服务器的配置文件
<!-- This file contains important settings that control the behaviour -->
这个文件包含控制所有服务和数据库行为的重要设置
<!-- of all of the services and repositories. -->
<!-- README! -->
<!-- This configuration file is designed to run without alteration for simple tests. -->这个配置文件用来设计运行没有变化的简单测试。
<!-- It assumes you have a DNS server on localhost and assigns a root password of root. -->他假定你有一个在本机运行的DNS服务,分配root一个root密码。
<!-- In case the defaults do not suit you, the items you are most likely to need to change -->万一默认的不适合你,可能需要改变部分配置项(并给予一定的注释)。
<!-- are preceded by a CHECKME! or CONFIRM? comment in the left margin. -->
<!-- For production use you will probably need to make more extensive changes, see -->要感觉实际的需要,做大量的改动,请参考网址:http://james.apache.org/documentation_2_1.html
<!-- http://james.apache.org/documentation_2_1.html -->
<!-- $Revision: 1.40.2.26 $ Committed on $Date: 2004/06/16 02:42:08 $ by: $Author: noel $ -->修订版本:1.40.2.36 $ 提交日期:2004/06/16 02:42:08作者:noel
<config>
<James>
<!-- CHECKME! -->
<!-- This is the postmaster email address for this mail server. -->
这是邮件管理员为邮件服务器准备的email地址。
<!-- Set this to the appropriate email address for error reports -->
设置为错误报告的适当邮件地址
<!-- If this is set to a non-local email address, the mail server -->
<!-- will still function, but will generate a warning on startup. -->
如果是非本地的email地址,邮件服务将会继续运行,但在启动是会报告错误。
<postmaster>Postmaster@tech21</postmaster>
<!-- servernames identifies the DNS namespace served by this instance of James. -->servernames识别DNS服务于james实例的名字空间
<!-- These servernames are used for both matcher/mailet processing and SMTP auth -->这些服务名用在匹配信件进程(matcher/mailet)和SMTP发送者程序两者之间.
<!-- to determine when a mail is intended for local delivery. -->
<!-- -->
<!-- If autodetect is TRUE, James wil attempt to discover its own host name AND -->如果autodetect设定为TRUE,JAMES将试图找到特定的host名字和使用的任意一个明确的已经指定的servernames
<!-- use any explicitly specified servernames. -->
<!-- If autodetect is FALSE, James will use only the specified servernames. -->
<!-- -->如果检测失败,james将使用仅有的指定servernames
<!-- If autodetectIP is not FALSE, James will also allow add the IP address for each servername. -->如果autodetectIP不失败,james同样允许为每个servername添加ip
<!-- The automatic IP detection is to support RFC 2821, Sec 4.1.3, address literals. -->automatic IP检测支持RFC 2821, Sec 4.1.3参照的地址
<!-- -->
<!-- To override autodetected server names simply add explicit servername elements. -->覆盖自动检测外部添加的服务元素的服务名称。
<!-- In most cases this will be necessary. -->这在大部分情况下是必须的。
<!-- By default, the servername 'localhost' is specified. This can be removed, if required. -->默认情况下,服务名'localhost'是被指定的,如果需要用到,它不能被移除。
<!-- -->
<!-- Warning: If you are using fetchpop it is important to include the -->
<!-- fetched domains in the server name list to prevent looping. -->
提示:如果用到“成批接受邮件”,可能要在服务器名字列表里包含成批的域名来防止回路。
<servernames autodetect="true" autodetectIP="true">
<!-- CONFIRM? -->
<servername>tech21</servername>
</servernames>
<!-- Set whether user names are case sensitive or case insensitive -->
设置是否区分大小写
<!-- Set whether to enable local aliases -->
设置是否区分本地别名
<!-- Set whether to enable forwarding -->
设置是否前导
<usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
<!-- The inbox repository is the location for users inboxes -->
本地的收件箱库。
<!-- Default setting: file based repository - enter path ( use "file:///" for absolute) -->
默认设置:文件基本库,输入路径(使用绝对路径"file:///")
<!--<inboxRepository>
<repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
</inboxRepository>
-->
<!-- Alternative inbox repository definition for DB use. -->
选择自定义的数据库收件箱。
<!-- The format for the destinationURL is "db://<data-source>/<table>" -->
格式表示为目的的URL,"db://<data-source>/<table>"
<!-- <data-source> is the datasource name set up in the database-connections block, below -->
<data-source>是设定数据库连接语句块的数据源名字
<!-- <table> is the name of the table to store user inboxes in -->
<!-- The user name is used as <repositoryName> for this repository config. -->
<table>是在<repositoryName>标签配置的数据库的表名
<inboxRepository>
<repository destinationURL="db://maildb/inbox/" type="MAIL"/>
</inboxRepository>
<!-- Alternative inbox repository definition for DB use. -->
<!-- Stores message body in file system, rest in database -->
<!--
<inboxRepository>
<repository destinationURL="dbfile://maildb/inbox/" type="MAIL"/>
</inboxRepository>-->
<!-- Alternative inbox repository definition for mbox use. -->
<!-- This method uses UNIX standard mbox files and is meant for people using mbox files -->
<!-- with systems such as mail list archive displayers -->
<!-- Note that dot-locking is not currently supported -->
<!-- so network (write) accesses may cause mbox corruption -->
<!-- the sample mbox URL is an absolute URL; mbox:///var/mail will put the users mbox files in /var/mail/-->
<!--
<inboxRepository>
<repository destinationURL="mbox:///var/mail/" type="MAIL"/>
</inboxRepository>
-->
</James>
<!-- Fetch pop block, fetches mail from POP3 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. -->
<!-- FetchPOP is being deprecated in favor of FetchMail -->
<fetchpop enabled="false">
<!-- You can have as many fetch tasks as you want, but each must have a -->
<!-- unique name by which it identified -->
<fetch name="mydomain.com">
<!-- Host name or IP address -->
<host>mail.mydomain.com</host>
<!-- Account login username -->
<user>username</user>
<!-- Account login password -->
<password>pass</password>
<!-- How frequently this account is checked - in milliseconds. 600000 is every ten minutes -->
<interval>600000</interval>
</fetch>
</fetchpop>
<!-- This is an example configuration for FetchMail, a JavaMail based gateway -->
<!-- service that pulls messages from other sources, and inserts them into the -->
<!-- spool. They are then processed normally, although FetchMail generally -->
<!-- has to fabricate some of the envelope information. FetchMail should be -->
<!-- considered a mail gateway, rather than a relay, in RFC terms. -->
<!-- Fetchmail is a functionally richer replacement for FetchPOP. -->
<!-- CHECKME: FetchMail is disabled by default, and must be configured to use. -->
<!-- Edit the file referred to by fetchmailConfig to enable and configure. -->
&fetchmailConfig;
<!-- The James Spool Manager block -->James缓冲池管理部分
<!-- -->
<!-- This block is responsible for processing messages on the spool. -->
这部分处理在缓冲池中的消息
<spoolmanager>
<!-- Number of spool threads -->池中的线程数
<threads> 10 </threads>
<!-- Set the Java packages from which to load mailets and matchers -->
设定载入邮件匹配里的java包
<mailetpackages>
<mailetpackage>org.apache.james.transport.mailets</mailetpackage>
</mailetpackages>
<matcherpackages>
<matcherpackage>org.apache.james.transport.matchers</matcherpackage>
</matcherpackages>
<!-- The root processor is a required processor - James routes all mail on the spool -->root进程是必须的进程,james首先通过这个进程发送缓冲池中的所有邮件。
<!-- through this processor first. -->
<!-- -->这个配置是一个root进程的示例配置。
<!-- This configuration is a sample configuration for the root processor. -->
<processor name="root">
<!-- Checks that the email Sender is associated with a valid domain. -->
检查email发送者是一个关联有效的域名
<!-- Useful for detecting and eliminating spam. -->
对于检测排除广告是非常有用的。
<!-- For this block to function, the spam processor must be configured. -->
运行这个部分,广告进程必须配置。
SenderInFakeDomain --> 伪装的发件人域名列表
<!--
<mailet match="SenderInFakeDomain=64.55.105.9,64.94.110.11,194.205.62.122,194.205.62.62,195.7.77.20,206.253.214.102,212.181.91.6,219.88.106.80,194.205.62.42,216.35.187.246,203.119.4.6" class="ToProcessor">
<processor> spam </processor>
</mailet>
-->
<!-- Important check to avoid looping -->检测消除回路非常重要
<mailet match="RelayLimit=30" class="Null"/>
<!--
<mailet match="All" class="XMLVirtualUserTable">
<!- 1:1 mapping ->
<mapping>morgoth@middle-earth=sauron@mordor</mapping>
<!- 1:n mapping ->
<mapping>istari@middle-earth=saruman@isengard;radigast;gandalf</mapping>
<!- DSN mapping ->
<mapping>boromir@osgilliath=error:550 Requested action not taken: no such user here</mapping>
<!- regex based mapping ->
<mapping>*@osgilliath=regex:(.*)@osgilliath:${1}@minas-tirith</mapping>
<!- both standard and regex mapping ->
<mapping>ring@*=onering@mordor;regex:ring@(.*):ring@${1}</mapping>
<!- conditional regex mapping example ->
<mapping>*@listserver=regex:(.*)-on@listserver:${1}-subscribe@listserver;
regex:(.*)-off@listserver:${1}-unsubscribe@listserver
</mapping>
</mailet>
-->
--------------白名单列表开始----------------
<!-- White List:
If you use block lists, you will probably want to check
for known permitted senders. This is particularly true
if you use more aggressive block lists, such as SPEWS,
that are prone to block entire subnets without regard
for non-spamming senders.
-->
名单列表:如果使用这部分列表你将检测到常见的许可发送者。使用有用的代码块列表,诸如“SPEWS”,在网络中能充分的阻隔部分发送者,而对于那些没有广告的发送者不会影响。
<!-- specific known senders -->特殊的常见发送者
<!--
<mailet match="SenderIs=goodboy@goodhost"
class="ToProcessor">
<processor> transport </processor>
</mailet>
-->
<!-- People on this list agree to pay a penalty if they send spam -->
在一下列表中的发送广告的人将会接受一定的处罚。
<mailet match="InSpammerBlacklist=query.bondedsender.org"
class="ToProcessor">
<processor> transport </processor>
</mailet>
必要的合法E-mail不会被视作广告(比如:http://www.habeas.com)
<!-- E-mail legally required not to be spam (see: http://www.habeas.com) -->
<!--
<mailet match="HasHabeasWarrantMark" class="ToProcessor">
<processor> transport </processor>
</mailet>
-->
<!-- End of White List -->
--------------白名单列表结束----------------
<!-- Check for delivery from a known spam server -->
从一个已知的广告服务器检测发送
<!-- This set of matchers/mailets redirect all emails from known -->
这部分设置matchers/mailets,从而重定向邮件到所有已知的黑洞。
<!-- black holes, open relays, and spam servers to the spam processor -->
<!-- For this set to function properly, the spam processor must be configured. -->
打开中继,包含广告进程的广告服务器应当设置块,广告进程必须配置。
<mailet match="InSpammerBlacklist=dnsbl.njabl.org"
class="ToProcessor">
<processor> spam </processor>
<notice>550 Requested action not taken: rejected - see http://njabl.org/ </notice>
</mailet>
<mailet match="InSpammerBlacklist=relays.ordb.org"
class="ToProcessor">
<processor> spam </processor>
<notice>550 Requested action not taken: rejected - see http://www.ordb.org/ </notice>
</mailet>
<!-- Sample matching to kill a message (send to Null) -->
<!--
<mailet match="RecipientIs=badboy@badhost" class="Null"/>
-->
匹配杀广告的消息范例(传送到null)
<!-- Send remaining mails to the transport processor for either local or remote delivery -->
对于来自本地或者远程的传送,发送保留邮件到发送处理器(或处理进程)。
<mailet match="All" class="ToProcessor">
<processor> transport </processor>
</mailet>
</processor>
<!-- The error processor is required. James may internally set emails to the -->错误进程处理是必须的,james可能在内部对邮件进行了错误标识。
<!-- error state. The error processor is generally invoked when there is an -->错误进程处理会在一个不可预料的错误邮件处理链或james内部被调用。
<!-- unexpected error either in the mailet chain or internal to James. -->
<!-- -->
<!-- By default configuration all email that generates an error in placed in -->默认配置:所有产生错误的邮件被放在一个错误库里。
<!-- an error repository. -->
<processor name="error">
<!-- If you want to notify the sender their message generated an error, uncomment this -->
如果需要报告"发送者"的错误消息,下面的不要注释掉。
<!--
<mailet match="All" class="Bounce"/>
-->
<!-- If you want to notify the postmaster that a message generated an error, uncomment this -->
如果需要报告“邮件管理员”的错误消息,下面的不要注释掉。
<!--
<mailet match="All" class="NotifyPostmaster"/>
-->
<!-- Logs any messages to the repository specified -->
为任意消息指定日志到库。
<mailet match="All" class="ToRepository">
<!--<repositoryPath> file://var/mail/error/</repositoryPath>-->
<!-- An alternative database repository example follows. -->
<repositoryPath> db://maildb/deadletter/error </repositoryPath>
</mailet>
</processor>
<!-- Processor CONFIGURATION SAMPLE: transport is a sample custom processor for local or -->
<!-- remote delivery -->
进程配置示例:发送本地或远程的自定义示例
<processor name="transport">
<!-- This is an example configuration including configuration for a list server. -->
这是个包含配置列表的配置示例。
<!-- CHECKME: before uncommenting this, edit the configuration file's contents -->
注意:不要注释这些,编辑文件内容的配置。
<!--
&listserverConfig;
-->
&服务器配置列表
<!-- Is the recipient is for a local account, deliver it locally -->
容纳本地以及本地范围内的。
<mailet match="RecipientIsLocal" class="LocalDelivery"/>
<!-- If the host is handled by this server and it did not get -->
<!-- locally delivered, this is an invalid recipient -->
处理非本地或失效的
<mailet match="HostIsLocal" class="ToProcessor">
<processor> local-address-error </processor>
<notice>550 - Requested action not taken: no such user here</notice>
</mailet>
<!-- CHECKME! -->注意:
<!-- This is an anti-relay matcher/mailet combination -->
<!-- -->这是一个凡接收matcher/mailet(匹配/邮件组件)的结合。
<!-- Emails sent from servers not in the network list are -->
从服务器发出的邮件没有在网络列表中的是被拒绝的广告(垃圾邮件)。
<!-- rejected as spam. This is one method of preventing your -->
<!-- server from being used as an open relay. Make sure you understand -->
这是一种防止您的服务器被作为开放传递的使用。
<!-- how to prevent your server from becoming an open relay before -->
<!-- changing this configuration. See also <authorizedAddresses> in SMTP Server -->
在改变配置之前,请确认您已经了解了如何防止服务器成为开放传递。
参见<authorizedAddresses>标签在SMTP中的使用。
<!-- -->
<!-- This matcher/mailet combination must come after local delivery has -->
<!-- been performed. Otherwise local users will not be able to receive -->
<!-- email from senders not in this remote address list. -->
这个matcher/mailet(匹配/邮件组件)的结合必须在已经执行的本地传递之后。
<!-- -->
<!-- If you are using this matcher/mailet you will probably want to -->
<!-- update the configuration to include your own network/addresses. The -->如果使用matcher/mailet(匹配/邮件组件),你可能要更新包含你自己的网络地址的配置。
<!-- matcher can be configured with a comma separated list of IP addresses -->
<!-- wildcarded IP subnets, and wildcarded hostname subnets. -->
<!-- e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*, 192.168.0.*" -->
匹配器能够配置一个逗号分割的包含通配符的IP地址列表。
例如:"RemoteAddrNotInNetwork=127.0.0.1, abc.de.*, 192.168.0.*"
<!-- -->
<!-- If you are using SMTP authentication then you can (and generally -->
<!-- should) disable this matcher/mailet pair. -->
如果使用SMTP认证,可以不设置matcher/mailet这个标签对。
<!--mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
<processor> relay-denied </processor>
<notice>550 - Requested action not taken: relaying denied</notice>
</mailet-->
<!-- Attempt remote delivery using the specified repository for the spool, -->对于缓冲池,尝试应用指定库的远程传送。
<!-- using delay time to retry delivery and the maximum number of retries -->使用含吃时间再次尝试传送,并考虑最大重申时间。
<mailet match="All" class="RemoteDelivery">
<!--<outgoing> file://var/mail/outgoing/ </outgoing>-->
<!-- alternative database repository example below -->
<outgoing> db://maildb/spool/outgoing </outgoing>
传送的格式基于RFC 2821, 4.5.4.1规则
<!-- Delivery Schedule based upon RFC 2821, 4.5.4.1 -->
<!-- 5 day retry period, with 4 attempts in the first
hour, two more within the first 6 hours, and then
every 6 hours for the rest of the period. -->
<!--delayTime> 5 minutes </delayTime>
<delayTime> 10 minutes </delayTime>
<delayTime> 45 minutes </delayTime>
<delayTime> 2 hours </delayTime>
<delayTime> 3 hours </delayTime>
<delayTime> 6 hours </delayTime-->
<maxRetries> 10 </maxRetries>最大重申时间
<!-- The number of threads that should be trying to deliver outgoing messages -->处理外送消息的线程数。
<deliveryThreads> 1 </deliveryThreads>
<!-- If false the message will not be sent to given server if any recipients fail -->如果给出的收件人服务器错误,那么失败的消息不能被送出
<sendpartial>tue</sendpartial>
<!-- A single mail server to deliver all outgoing messages. -->
单一邮件传送所有外部消息。
<!-- This is useful if this server is a backup or failover machine, -->
<!-- or if you want all messages to be routed through a particular mail server, -->服务器备份失败主机,或者所有消息路由精确的邮件服务器。
<!-- regardless of the email addresses specified in the message -->
<!-- -->不管在消息中邮件地址是否指定。
<!-- The gateway element specifies the gateway SMTP server name. -->
<!-- If your gateway mail server is listening on a port other than 25, -->网关元素指定SMTP的邮件服务器名字。如果网关邮件服务器监听端口不是25,
<!-- you can set James to connect to it on that port using the gatewayPort -->你可以设置james连接使用的网关元素。
<!-- element. -->
<!-- Although normally multiple addresses are implemented through proper -->
<!-- DNS configuration, the RemoteDelivery mail does allow specifying -->
<!-- multiple gateway elements, each of which may also have a port -->
<!-- e.g., mygateway:2525 -->
尽管正常情况下多个地址可以通过DNS配置实现,但是个别邮件不能指定多个网关元素,每个网关元素都有一个端口;例如,网关:2525
<!-- the gatewayPort element is used as a default -->
<!--网关元素使用默认值
<gateway>192.168.0.1</gateway>
<gatewayPort>25</gatewayPort>
-->
</mailet>
</processor>
<!-- Processor CONFIGURATION SAMPLE: spam is a sample custom processor for handling -->进程配置示例:简单广告定义处理程序。
<!-- spam. -->
<!-- You can either log these, bounce these, or just ignore them. -->
你可以记录、摒弃、忽略这些配置项。
<processor name="spam">
<!-- To destroy all messages, uncomment this matcher/mailet configuration -->破坏所有消息,(可以取消这个配置项的注释)
<mailet match="All" class="Null"/>
<!-- To notify the sender their message was marked as spam, uncomment this matcher/mailet configuration -->
报告给消息发送者,标记广告消息(可以取消这个配置项的注释)
<mailet match="All" class="Bounce"/>
<!-- To notify the postmaster that a message was marked as spam, uncomment this matcher/mailet configuration -->
在邮件服务器中标记广告消息(可以取消这个配置项的注释)
<mailet match="All" class="NotifyPostmaster"/>
<!-- To log the message to a repository, this matcher/mailet configuration should be uncommented. -->
记录消息到库(可以取消这个配置项的注释)
<!-- This is the default configuration. -->
这个是默认的配置
<mailet match="All" class="ToRepository">
<!--<repositoryPath>file://var/mail/spam/</repositoryPath>-->
<!-- Changing the repositoryPath, as in this commented out example, will -->
<!-- cause the mails to be stored in a database repository. -->
<!-- Please note that only one repositoryPath element can be present for the mailet -->
<!-- configuration. -->
<repositoryPath> db://maildb/deadletter/spam </repositoryPath>
</mailet>
</processor>
<!-- This processor handles messages that are for local domains, where the user is unknown -->对于未知用户的本地域名的程序处理。
<processor name="local-address-error">
<!-- To notify the sender the address was invalid, uncomment this matcher/mailet configuration -->
通报错误地址的发送人(可以取消这个配置项的注释)。
<!-- The original message is not attached to keep the bounce processor from deliverying spam -->
原始的消息不能放在使得从广告程序退出的地方。
<!--
<mailet match="All" class="Bounce">
<attachment>none</attachment>
</mailet>
-->
通知邮件管理员一个错误地址的消息。
<!-- To notify the postmaster that a message had an invalid address, uncomment this matcher/mailet configuration -->
<!--
<mailet match="All" class="NotifyPostmaster"/>
-->
<mailet match="All" class="ToRepository">
<!--<repositoryPath> file://var/mail/address-error/</repositoryPath>-->
<!-- An alternative database repository example follows. -->
<repositoryPath> db://maildb/deadletter/address-error </repositoryPath>
</mailet>
</processor>
``
<!-- This processor handles messages that are for foreign domains, where relaying is denied -->这个程序处理在james2.2版本里对于拒绝转发的对外域名的消息
<!-- As of James v2.2, this processor can be deprecated by using the <authorizedAddresses> tag
in the SMTP Server, and rejecting the message in the protocol transaction. -->这个程序段拒绝在SMTP中使用<authorizedAddresses>标签,并且在协议的处理中拒绝消息。
<processor name="relay-denied">转发拒绝
<!-- To notify the sender the address was invalid, uncomment this matcher/mailet configuration -->通知地址错误给发送者。
<!-- The original message is not attached to keep the bounce processor from deliverying spam -->原始程序不能放在使得广告程序退出的位置。
<!--
<mailet match="All" class="Bounce">
<attachment>none</attachment>
</mailet>
-->
如果转发请求被拒绝,通知邮件管理员
<!-- To notify the postmaster that a relay request was denied, uncomment this matcher/mailet configuration -->
<!--
<mailet match="All" class="NotifyPostmaster"/>
-->
<mailet match="All" class="ToRepository">
<!--<repositoryPath>file://var/mail/relay-denied/</repositoryPath>-->
<!-- An alternative database repository example follows. -->
数据库存储的格式
<repositoryPath> db://maildb/deadletter/relay-denied </repositoryPath>
</mailet>
</processor>
</spoolmanager>
<!-- DNS Server Block -->设置 DNS 服务部分
<!-- -->
<!-- Specifies DNS Server information for use by various components inside -->
<!-- James. -->利用不用的内部组件指定DNS服务信息
<!-- -->
<!-- If autodiscover is true, James will attempt to autodiscover the DNS servers configured on your underlying system.-->
如果自动覆盖设置为true,james将尝试自动覆盖DNS服务配置。
<!-- 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-->如果没有DNS服务找到,就不能指定任何项,127.0.0.1将被使用。
<!-- If you use autodiscover and add DNS servers manually a combination of all the dns servers will be used -->
<!-- -->如果使用自动覆盖并且手动添加了DNS服务,所有DNS服务列表构成的组合将被使用。
<!-- Information includes a list of DNS Servers to be used by James. These are -->包含DNS服务列表的信息被james使用。这些服务元素被指定,每个元素都是servers的子元素。每隔server元素是一个单独DNS服务的IP。
<!-- 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. -->servers元素有拥有多个server子元素。
<!-- The servers element can have multiple server children. -->
<dnsserver>
<servers>
<!--Enter ip address of your DNS server, one IP address per server -->
<!-- element. -->
<!--
<server>202.212.224.68</server>
<server>202.102.227.68</server>
-->
<server>127.0.0.1</server>
</servers>
<!-- Change autodiscover to false if you would like to turn off autodiscovery -->如果想关闭自动覆盖,可以设置autodiscover为false
<!-- and set the DNS servers manually in the <servers> section -->
<autodiscover>false</autodiscover>
<authoritative>false</authoritative>
</dnsserver>
<remotemanager>
<port>4555</port>
<!-- Uncomment this if you want to bind to a specific inetaddress -->
<!--取消这个注释,如果你想绑定指定的IP地址。
<bind> </bind>
-->
<!-- Uncomment this if you want to use TLS (SSL) on this port -->
<!--如果想使用加密的TLS (SSL)端口号(https://访问),就取消这个注释.
<useTLS>true</useTLS>
-->
<handler>
<!-- This is the name used by the server to identify itself in the RemoteManager -->
这个名字用在识别在远程管理协议中的自身服务。
<!-- 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. -->
如果autodetect(自动检测)为TRUE,服务器将会覆盖自己的主机名,并在协议中使用它。如果覆盖失败,‘localhost’将被使用。如果autodetect检测失败,james将使用指定的值。
<helloName autodetect="true">myMailServer</helloName>
<administrator_accounts>高级管理员账号
<!-- CHECKME! -->
<!-- Change the default login/password. -->改变默认的登陆用户名和密码
<account login="root" password="root"/>
</administrator_accounts>
<connectiontimeout> 60000 </connectiontimeout>
</handler>
</remotemanager>
<!-- The POP3 server is enabled by default -->POP3服务协议使用
<!-- Disabling blocks will stop them from listening, -->,在无用的监听部分停止后。
<!-- but does not free as many resources as removing them would -->
更多的被移除的资源是不自由的。
<pop3server enabled="true">
<!-- port 995 is the well-known/IANA registered port for POP3S ie over SSL/TLS -->995端口是IANA国际标准承认的,一般被注册在大多数POP3邮件的SSL/TLS加密端口访问上。
<!-- port 110 is the well-known/IANA registered port for Standard POP3 -->
端口110是IANA国际标准承认的,一个注册在普通的POP3协议上。
<port>110</port>
<!-- Uncomment this if you want to bind to a specific inetaddress -->
如果想绑定指定的IP地址,可以取消注释
<!--
<bind> </bind>
-->取消这个注释,如果想使用加密端口访问。
<!-- Uncomment this if you want to use TLS (SSL) on this port -->
<!--
<useTLS>true</useTLS>
-->
<handler>
<!-- This is the name used by the server to identify itself in the POP3 -->
<!-- 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. -->
这个名字将被用来识别自身的POP3协议。如果autodetect设置为TRUE,服务器将覆盖自己的主机名并在协议中使用它。如果覆盖失败,‘localhost’这个值将被使用。如果autodetect检测失败,james将使用指定的值。
<helloName autodetect="true">myMailServer</helloName>
<connectiontimeout>120000</connectiontimeout>
</handler>
</pop3server>
默认的SMTP邮件使用,在无用的监听部分停止后。
<!-- The SMTP server is enabled by default -->更多的被移除的资源是不自由的。
<!-- Disabling blocks will stop them from listening, -->
<!-- but does not free as many resources as removing them would -->
<smtpserver enabled="true">
<!-- port 25 is the well-known/IANA registered port for SMTP -->
<port>25</port>
<!-- Uncomment this if you want to bind to a specific inetaddress -->
<!--
<bind> </bind>
-->
<!-- Uncomment this if you want to use TLS (SSL) on this port -->
<!--
<useTLS>true</useTLS>
-->
<handler>
<!-- This is the name used by the server to identify itself in the SMTP -->
<!-- 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>
<connectiontimeout>360000</connectiontimeout>
<!-- Uncomment this if you want to require SMTP authentication. -->
如果需要SMTP认证,可以取消这个注释
<authRequired>true</authRequired>
<!-- CHECKME! -->特别注意:
<!-- Uncomment this if you want to authorize specific addresses/networks.
If you use SMTP AUTH, addresses that match those specified here will
be permitted to relay without SMTP AUTH. If you do not use SMTP
AUTH, and you specify addreses here, then only addresses that match
those specified will be permitted to relay.
Addresses may be specified as a an IP address or domain name, with an
optional netmask, e.g.,
127.*, 127.0.0.0/8, 127.0.0.0/255.0.0.0, and localhost/8 are all the same
See also the RemoteAddrNotInNetwork matcher in the transport processor.
You would generally use one OR the other approach.
-->如果想要指定专用的网络地址,可以取消下面注释.
如果使用SMTP AUTH(授权SMTP),这些匹配的地址将被没有授权的SMTP许可转发。
如果没有使用SMTP许可协议,仅仅被这些指定的地址允许转发
地址可以是一个IP地址或者域名,附带有掩码。
例如:127.*, 127.0.0.0/8, 127.0.0.0/255.0.0.0, and localhost/8都可以
<authorizedAddresses>127.0.0.0/8</authorizedAddresses>
<!-- Uncomment this if you want to verify sender addresses, ensuring that -->如果想校验发送地址,取消这个注释.
<!-- the sender address matches the user who has authenticated. -->
<!-- This prevents a user of your mail server from acting as someone else -->确认发送者IP地址和