一、简介

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@localhost,把此项改为Postmaster@unitname,同理,找到localhost,把此项改为unitname。其实,改这两项就是把默认的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 users password

setalias [alias] [user] locally forwards all email for alias t

o user

unsetalias [alias] unsets an alias

setforwarding [username] [emailaddress] forwards a users 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

关于作者

陈光,J2EE项目经理,熟悉EJB、XML,致力Aapche Jakarta、Aapche XML项目的应用与推广,可通过holen@263.net与作者联系。,

java访问邮箱 apache,apache james使用入门_邮件服务器相关推荐

  1. Apache James 搭建自己的邮件服务器

    原文 address:http://blog.csdn.net/jwdstef/article/details/39495097 中小企业是否可以免费拥有自己的邮件系统,而不是去购买腾讯,163的企业 ...

  2. Apache James搭建内网邮件服务器

    前言 大概之前两个礼拜的日子,讨论会介绍了关于了.net内网邮件服务器的搭建.所以自己也很有必要来尝试一把邮件服务器的搭建,这里选取的是james这个工具. 为什么要使用内网邮件服务器? a.安全这里 ...

  3. linux 邮件服务器pop3,linux下用pop3收web电子邮箱_邮件服务器

    FreePOPs是一个集成了POP3后台程序.LUA解译器和其他一些额外的HTTP及HTML分解库的实用工具,目前的最新版本是0.0.10版.现在FreePOPs有Windows.Linux和Mac ...

  4. 慕课网_《Java实现邮箱验证》学习总结

    时间:2017年06月07日星期三 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学示例源码:无 个人学习源码:https://github.com/zccod ...

  5. java实现邮箱验证QQ邮箱验证和Foxmail验证

    这两天公司要求做个Android端邮箱认证,android端还是很简单的,主要难点在后台链接邮箱并发送邮件. 思路:android端传送邮箱地址给后台,后台获取邮箱地址后,链接公司邮箱,并发送验证码邮 ...

  6. Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类

    准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://blog.csdn.net/weixin_44953227/articl ...

  7. Java中实现SMTP邮件服务器-用demo简单粗暴的来发一波邮件了

    1. 邮件开发涉及到的一些基本概念(表示只要代码着急拿来用的童鞋直接翻到后面第2点:)) 在简单粗暴的拿出样例之前,需要先简介一下邮件服务的一些基本概念,以期更好的理解本文.在一个目前常用的邮件系统中 ...

  8. 怎样在发信服务器上查网易邮件,怎么让新建的邮件服务器成功发送邮件给163邮箱...

    怎么样才能让自己服务器发出的邮件不被 Gmail.Hotmail.163.QQ 等邮箱放入垃圾箱? 对于新建邮件服务器,这是一个系统工程,基本要做到以下这些工作: 给邮件服务器分配一个静态 IP 地址 ...

  9. 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl

    错误表现: 可以正常发布项目不报错,访问jsp和http://localhost:8080就报错,后台报的错:org.apache.catalina.core.StandardWrapperValve ...

最新文章

  1. 重磅推出:AutoProject Studio 自动化项目生成器
  2. matlab arr3(5 end),matlab复习笔记.doc
  3. Lec6-待学习的堆排序
  4. Koa nuxt最佳实践前篇
  5. 云数据库·ApsaraDB 产品6月刊
  6. 【AI面试题】Softmax的原理是什么,有什么作用
  7. android中倒计时控件CountDownTimer分析
  8. Emacs取消键值绑定
  9. Spring Security构建Rest服务-1401-权限表达式
  10. Mac 本地搭建服务器实现itms-services方式安装ipa(自制证书)
  11. C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改...
  12. 登录验证码(前后端分离、不分离)
  13. 基于Layabox引擎的魔塔微信小游戏设计与实现
  14. 从Watson看AI平台的架构设计
  15. execl筛选去重_excel表格如何去除重复数据进行筛选
  16. 建设规划合理、高效便捷的现代物流中心——浙江嘉兴市局(公司)卷烟物流配送中心建设纪实...
  17. 利用kali暴力破解获取windows账号密码
  18. 物理工程建模和AI量化建模的时空跳跃
  19. 【密码学篇】商用密码产品的密钥体系结构小结
  20. 年底了,怎么和领导提加薪?

热门文章

  1. 动画 Animation 之 闪烁 左右摇摆 上下晃动等效果
  2. Photoshop的基本使用和Cutterman插件的安装
  3. 【基于UML软件建模的客户关系管理系统】
  4. 7 Sites for Free 3D Models
  5. 机器推理系列文章概览:七大NLP任务最新方法与进展
  6. windows本地安全策略实验-远程桌面连接锁定账户
  7. BOM 浏览器对象模型 (黑马课程总结【侵删】)
  8. 【AN 2021】Adobe Animate 2021 软件下载及安装教程
  9. 通过淘宝API接口获取SKU标题、SKUID、SKU价格、总库存以及各SKU库存
  10. SOLIDWORKS如何将多个零件要合并成一个零件?