James+Javamail构建邮件服务(一)

James+Javamail构建邮件服务


  本文描述如何使用James搭建具备一定邮件过滤、邮件操作功能的邮件服务器,以及使用Javamail实现对James服务器邮件的收发功能。

1 关于James与Javamail
  Apache James(Java Apache Mail Enterprise Server)是Apache组织的子项目之一,完全采用纯Java技术开发,实现了SMTP、POP3与NNTP等多种邮件相关协议。James是一个邮件应用平台,可以通过Mailet扩充其功能,如Mail2SMS、Mail2Fax等。James提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。James性能稳定、可配置性强,还是开源项目,所有源代码不存在版权问题,因此,James在项目中的应用日益广泛。
  Javamail API是一个用于阅读、编写和发送电子消息的可选包(标准扩展),可以用来建立基于标准的电子邮件客户机,它支持各种因特网邮件协议,包括:SMTP、POP、IMAP、MIME、NNTP、S/MIME及其它协议。
  在本文档中,我们使用James 2.3.1+Javamail 1.4.1作为介绍蓝本。


2 James服务器快速入门
  我们可以从Apache James 的官方站点下载到我们所需要的James服务器及源码
  James服务器(ZIP版)下载地址:
  http://apache.mirror.phpchina.com/james/server/binaries/james-binary-2.3.1.zip
  James源码下载地址:
  http://apache.mirror.phpchina.com/james/server/source/james-2.3.1-src.zip
  其他版本的服务器及源码可到官方下载页面下载:
  http://james.apache.org/download.cgi

2.1 启动James
第一步:
  将james-binary-2.3.1.zip解压到纯英文目录下
第二步:
  运行bin目录下的run.bat(在运行之前请确保您的Java环境变量已配置成功,否则将提示运行失败)
显示以下内容表示James服务器已启动成功:


  服务器启动成功后,将自动在apps目录下根据james.sar文件生成相应的James发布文件包,我们后面讨论的配置文件config.xml即存在于此发布文件包中。

2.2 用Telnet管理用户
  用cmd进入MS-DOS,输入telnet localhost 4555 (注:localhost是邮件服务器名,4555是管理端口,可在/apps/james/SAR-INF/config.xml文件中配置,在此我们使用其默认配置)
  然后输入用户名和密码(在配置文件config.xml中,默认为用户名:root密码:root)
出现如下信息说明登陆成功:


 
登陆成功后,我们就可以开始对用户信息进行增、删、查、改等操作了。
常用的用户信息操作命令参见下表:

  • 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 [user] [alias]   locally forwards all email for 'user' to 'alias' 设置邮箱别名
  • showalias [username]   shows a user's current email alias 显示别名
  • unsetalias [user]     unsets an alias for 'user'    删除用户别名
  • setforwarding [username] [emailaddress]   forwards a user's email to another email address      转发用户的电子邮件地址到另一个电子邮件地址
  • showforwarding [username] shows a user's current email forwarding 显示用户的当前邮件转发
  • unsetforwarding [username]     removes a forward         删除转发
  • user [repositoryname]    change to another user repository   改变另一个用户库
  • shutdown kills the current JVM (convenient when James is run as a daemon)  关闭当前的服务
  • quit                close connection              关闭连接


  我们可以输入命令:adduser chenfengcn 881213来添加一个的邮件用户,则其用户名为:chenfengcn,密码为:881213,邮箱地址为:chenfengcn@localhost(用户名后的域名跟服务器配置的域名相同,在config.xml文件中配置,我们将在后面部分讨论如何配置邮件服务器域名)。这样,我们就完成了一个最简单的邮件服务器的搭建操作。下面就让我们使用Foxmail来测试一下我们的邮箱帐户是否真正可以使用吧。

2.3 使用Foxmail测试邮箱帐户
  打开Foxmail,点击“邮箱”->“新建邮箱帐户”
  电子邮件地址:chenfengcn@localhost
  密码为:881213
  POP3服务器:localhost
  SMTP服务器:localhost
  其余选项均使用默认即可,新建完成后,Foxmail将发送一测试邮件到我们新建的邮箱里,点击“收取”,即可收取我们邮件帐户里面的邮件了。当收到Foxmail发送的测试邮件,就说明我们的邮件帐户可以正常使用了。
  作为程序设计人员,我们当然希望能使用自己写的程序来测试我们的邮件服务器是否搭建成功,而不是Foxmail。下面就让我们用Javamail来实现这一切吧。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值