`
huzhenyu
  • 浏览: 185142 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论
阅读更多
from: http://blog.csdn.net/nx0010/archive/2007/09/29/1806439.aspx
导读:
一、简介
  Apache James(Java Apache Mail Enterprise Server)是Apache组织的子项目之一,完全采用纯Java技术开发,实现了SMTP、POP3与NNTP等多种邮件相关协议。
  James也是一个邮件应用平台,可以通过Mailet扩充其功能,如Mail2SMS、Mail2Fax等。James提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。
  James性能稳定、可配置性强,还是开源项目,所有源代码不存在版权问题,因此,James在项目中的应用日益广泛,现在常用版本为2.1,但最新版本2.3已经推出,在本文中,我们将仍以James2.1作为介绍蓝本。
  二、安装与配置
  James的安装配置过程非常简单。
  第一步:安装JDK
  请使用JDK1.3以上版本(推荐使用JDK1.4),假设安装在c:\jdk1.3。
  第二步:下载James,并解压
  可以到Apache网站上下载James2.1,下载将得到一个压缩文件james-2.1.zip,大小为4.45M,将此包解压到c:\james。
  第三步:直接运行或需要配置JAVA_HOME
  这时,可以尝试直接双击c:\james\bin\run.bat,若启动无误,将提示如下:
  Using PHOENIX_HOME: C:\james
  Using PHOENIX_TMPDIR: C:\james\temp
  Using JAVA_HOME:
  Phoenix 4.0.1
  James 2.1
  Remote Manager Service started plain:4555
  POP3 Service started plain:110
  SMTP Service started plain:25
  NNTP Service Disabled
  Fetch POP Disabled
  也有可能启动不了,并报JAVA_HOME找不到,这时,需要指定JAVA_HOME,比较简单的方法是在c:\james\bin\run.bat中指定JAVA_HOME,修改后的run.bat如下:
  ……
  rem
  rem Determine if JAVA_HOME is set and if so then use it
  rem
  set JAVA_HOME= c:\jdk1.3
  if not "%JAVA_HOME%"=="" goto found_java
  ……
  修改完后再运行run.bat,应该就可以正常启动了,若还有什么问题,请参见本文的FAQ部分。
  三、项目应用
  1、 项目需求
  某单位,有16个职能处室,共78台电脑(操作系统为Win98/2000/xp),其中有1台为专用服务器(Win2000),已连成局域网。为使单位内部的信息交流,尤其是文件交互更加便捷,单位决定在局域网内部架设一套E-mail系统。
  2、 解决方案
  在专用服务器上安装James2.1,客户端使用操作系统自带的Outlook Express。
  3、 服务器端配置
  首先找出专用服务器的名字,假设叫unitname。
  然后打开文件c:\james\apps\james\SAR-INF\config.xml。
  在config.xml文件中,找到<postmaster>Postmaster@localhost</postmaster>,把此项改为<postmaster>Postmaster@unitname</postmaster>,同理,找到<servername>localhost</servername>,把此项改为<servername>unitname</servername>。其实,改这两项就是把默认的localhost改为机器名,这样做是为了让其它机器也能访问邮件系统,当然,前提是在局域网上没有与服务器重名的机器。
  4、 客户端配置
  假设有一个账号,用户名为holen,密码为123456,如何在Outlook中配置呢?
  首先,根据用户名,可以得出该用户邮箱地址为holen@unitname ,然后在输入POP3和SMTP服务器时,直接使用服务器机器名unitname即可。
  5、 帐号管理
  James的账号管理是通过telnet完成的,登录命令为:
  telnet unitname 4555
  其中unitname也可以换成IP,4555是端口号。登录时需要用户名和密码,初始的用户名和密码均为root。若登录成功,提示如下:
  JAMES Remote Administration Tool 2.1
  Please enter your login and password
  Login id:
  Password:
  Welcome root. HELP for a list of commands
  需要注意的是,所有敲入的命令都不显示在屏幕上。
  输入help,将出现命令的帮助,信息如下:
  JAMES Remote Administration Tool 2.1
  Please enter your login and password
  Login id:
  Password:
  Welcome root. HELP for a list of commands
  Currently implemented commands:
  help display this help
  listusers display existing accounts
  countusers display the number of existing accounts
  adduser [username] [password] add a new user
  verify [username] verify if specified user exist
  deluser [username] delete existing user
  setpassword [username] [password] sets a user's password
  setalias [alias] [user] locally forwards all email for 'alias' t
  o 'user'
  unsetalias [alias] unsets an alias
  setforwarding [username] [emailaddress] forwards a user's email to another email
  address
  unsetforwarding [username] removes a forward
  user [repositoryname] change to another user repository
  shutdown kills the current JVM (convenient when J
  ames is run as a daemon)
  quit close connection
  常用的命令有listusers、countusers、adduser、deluser、setpassword等。
  其中添加用户为adduser,例如:adduser holen 123456。
  通过这个后台管理界面,管理员就可以实现账号管理及其他相应的管理功能。
  6、 应用情况
  这套系统在该单位经过一周的试运行后,已正式运行两个月,用户数约百人,一直很稳定,期间,因操作系统故障,服务器重启两次,其他时间,一直处于运行状态,性能稳定,响应速度快。
  四、FAQ
  1、 在启动james时,提示POP3或SMTP不能使用?
  请检查一下,看“管理工具?>服务”里面,是不是启动了别的邮件服务器,已将110或25端口占用了。
  2、 JAVA_HOME找不到?
  请在run.bat中指定JAVA_HOME,若还不行,请在“我的电脑?>系统?>高级?>环境变量”中添加一项JAVA_HOME(一般不推荐这么做)。
  3、 服务器启动正常,但客户端不能收发邮件?
  请检查客户端配置是否正常,参照前面所讲,另外,请检查james下的config.xml,是否把localhost改成了机器名。
  五、总结
  总体而言,James是一款十分优秀的邮件服务器,具有性能稳定、扩展性好、可配置性强、响应速度快、源码公开等优点。同时,由于James的后台管理不够方便、缺少必要的技术支持等原因,限制了james的高端企业级应用。
  就目前情况而言,James主要用于1000用户量以内的邮件系统,而且当James用于商业性项目时,开发商一般需要对James进行相应的包装,主要是后台管理这一块。
  六、参考资料
  James 2.1 Documentation
  七、配置外网邮件发送
  本人用的是james2.3.1,官方地址:http://james.apache.org/
  下载地址:http://mirror.utdlug.org/apache/james/server/binaries/james-binary-2.3.1.zip
  下载完如何安装,请自己去google一下。
  下面讲如何配置发送:
  打开..\james\apps\james\SAR-INF\config.xml文件,
  1. 找到<servernames autodetect="true" autodetectIP="true"> 设成         autodetect="false" autodetectIP="false"> autodetct设为true会自动侦测你的主机名,
        设成false会用你指定的server name. autodetectIP设为true会为你的servername加上ip.
  2. 设置servername 将默认的为localhost改成你的server名字 如king.cn, 然后打开
        C:\WINDOWS\system32\drivers\etc\hosts文件,添加 127.0.0.1 king.cn
  3. 注释掉
        <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor>
        <processor> relay-denied </processor>
        <notice>550 - Requested action not taken: relaying denied</notice>
        </mailet>
  4. 配置DNS Server
        在cmd中用ipconfig /all 命令查看你的dns server ip
        DNS Servers . . . . . . . . . . . : 202.96.209.6
        192.168.1.1
        添加如下:
        <dnsserver>
        <servers>
        <server>202.96.209.6</server>
        <server>192.168.1.1</server>
        同时设置autodiscover为false
  5.重启server 就ok了。
  本人发送给163,QQ都没问题,hotmail和sina会当做junk mail拒收.sina会去反域名解析,如果你有域名的话应该没问题的.
        本文转自
http://blog.csdn.net/daryl715/archive/2007/09/14/1784869.aspx  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics