james是个纯JAVA的邮件服务器。http://james.apache.org/
这里是linux/unix的邮件服务器。这个好象不应该贴在这里。不过贴习惯了,反正这也是讲邮件服务器的,也贴这吧。
James中的主机名和本地域
James的全局配置james中中有一项服务器名(servernames)参数。本文就是讨论James中的主机名和本地域的关系。
postfix中有myhostname和mydomain两个参数明确指出本地的主机域名和所属域的域名。比如,我的邮件主机名是hpe45.fz.fj.zz,那么myhostname=hpe45.fz.fj.zz,而mydomain=fz.fj.zz。
James不是采用postfix这种做法。它的<servernames参数默认配置如下:
<servernames autodetect="true" autodetectIP="true"
<servernamelocal</servername
</servernames
当autodetect="true"时,James自动获取所在服务器的主机名。将取得的主机名和<servername中设定的主机名,一同做为主机名。当autodetect="false"时,<servername中设定的主机名被作为主机名。
James中没有参数直接指明本地域。但是上面<servernames参数所确定的主机名将被视为本地域。
举例来说明这个情况吧。还用上面的例子,假定主机名为hpe45.fz.fj.zz。
如果配置参数为:
<servernames autodetect="true" autodetectIP="true"
<servernamehpe45.fz.fj.zz</servername
</servernames
那么主机名为hpe45.fz.fj.zz,本地邮件域也是hpe45.fz.fj.zz。也就是说,邮箱地址为tom@hpe45.fz.fj.zz的邮件被认为是本地邮件,而tom@fz.fj.zz,则不认为是本地邮件。
如果配置参数为:
<servernames autodetect="true" autodetectIP="true"
<servernamefz.fj.zz</servername
</servernames
那么主机名为hpe45.fz.fj.zz和fz.fj.zz,本地邮件域也是两个hpe45.fz.fj.zz和fz.fj.zz。那tom@hpe45.fz.fj.zz和tom@fz.fj.zz都被认为是本地邮件。
如果配置参数为:
<servernames autodetect="false" autodetectIP="true"
<servernamefz.fj.zz</servername
</servernames
那么主机名为fz.fj.zz,本地邮件域为fz.fj.zz。tom@fz.fj.zz被认为是本地邮件。而tom@hpe45.fz.fj.zz不认为是本地邮件。