来源:http://chenfengcn.iteye.com/blog/356874

 
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发送的测试邮件,就说明我们的邮件帐户可以正常使用了。

James搭建邮件服务器的更多相关文章

  1. 用 Apache James 搭建邮件服务器来收发邮件实践(一)(转)

    Apache James 简称 James, 是 Java Apache Mail Enterprise Server的缩写.James 是100%基于Java的电子邮件服务器.它是一种独立的邮件服务 ...

  2. 在windows平台使用Apache James搭建邮件服务器以及使用C#向外网发送邮件

    首先环境搭建: 1.下载安装JDK,并且配置环境变量 2.下载Apache James ,下载解压之后的目录如图 双击bin下边的run.bat批处理文件安装James 服务,提示如下信息说明安装成功 ...

  3. Postfix+Dovecot+MySQL搭建邮件服务器

    网上有很多使用Postfix搭建邮件服务器的文章,但目前貌似没有看到较为完整的一篇.本例将尝试在Ubuntu系统中使用Postfix+Dovecot+MySQL搭建邮件服务器. 说到邮件服务器,网上有 ...

  4. CentOS利用postfix搭建邮件服务器

    之前我用nodemailer通过163邮箱来发送邮件,不过没过几天就一直ETIMEDOUT,不知道什么原因,想着还是自己搭一个来发邮件可能靠谱点(flag?) 安装postfix CentOS 7 自 ...

  5. Windows Server 2003搭建邮件服务器

    Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...

  6. 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

    参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...

  7. 使用hMailServer搭建邮件服务器

    本文没有什么高深的技术内容,只是使用hMailServer,介绍搭建邮件服务器的全过程,供参考. 一.安装邮件服务器组件 打开软件,点下一步 选择存储数据的数据库,这里有两种选择, 一种是使用嵌入型数 ...

  8. CentOS 使用PostFix搭建邮件服务器

    搭建环境: 关于PostFix是什么以及邮件服务器接受发送邮件流程网上有很多文章,这里就不再写了,这里只记录如何搭建邮件服务器,使用PostFix接受发送邮件 CentOS6.8 32位,postfi ...

  9. 搭建邮件服务器,使用Postfix与Dovecot收发电子邮件

    小知识: 我们为什么要搭建邮件服务器呢?有时候我们处于一个局域网内,不能及时的分享各自的研究成果,迫切的需要一种能够借助于网络且建立在计算机之间的传输数据的方法.所以我们需要搭建邮件服务器,这样的话既 ...

随机推荐

  1. (四)Qt之右键菜单

    1.右键菜单创建和显示 作为一种交互性强.使用方便的右键菜单在程序中是非常常用的,在Qt中可以轻松的实现. QMenu menu; //添加菜单项,指定图标.名称.响应函数 menu.addActio ...

  2. Windows下bmp文件格式

    6.1 BMP文件格式 6.1.1 简介 位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式.Window ...

  3. C/C++输入输出总结

    *string类:  1.cin>>string时,遇到'\n'或者空格即停止,并且'\n'或空格仍留在输入里,即只读了一个单词或什么都没读,但string类自己处理好了空字符什么的.下一 ...

  4. ASP.NET的错误处理机制

    对于一个Web应用程序来说,出错是在所难免的,因此我们应该未雨绸缪,为可能出现的错误提供恰当的处理.事实上,良好的错误处理机制正是衡量Web应用程序好坏的一个重要标准.试想一下,当用户不小心在浏览器输 ...

  5. jQuery 全选 反选 单击行改变背景色

    我先把CSS样式放出来,其实这个可以直接忽略 ;;font-size:12px;font-family:微软雅黑;} .datagrid{width:100%;} .datagird tr th{ba ...

  6. document.compatMode的CSS1compat

    document.compatMode BackCompat:标准兼容模式关闭.浏览器宽度:document.body.clientWidth: CSS1Compat:标准兼容模式开启. 浏览器宽度: ...

  7. 【Vmware】已有镜像文件的导入

    1  虚拟机文件夹中各个文件简介 在创建虚拟机的时候会把相关的文件保存到一个文件夹中.我的机器是Windows 7,64位 ,保存的路径是: C:\Users\User\Documents\Virtu ...

  8. Palindromic Number (还是大数)

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  9. EXTJS4.2 时间动态刷新显示

    function clockGo() { Ext.TaskManager.start({ run: function () { //Ext.getCmp("clock").setT ...

  10. 【BZOJ 1022】 [SHOI2008]小约翰的游戏John

    Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取 ...