JamesJavamail构建邮件服务实现.docx

上传人:b****2 文档编号:2197890 上传时间:2022-10-27 格式:DOCX 页数:43 大小:273.20KB
下载 相关 举报
JamesJavamail构建邮件服务实现.docx_第1页
第1页 / 共43页
JamesJavamail构建邮件服务实现.docx_第2页
第2页 / 共43页
JamesJavamail构建邮件服务实现.docx_第3页
第3页 / 共43页
JamesJavamail构建邮件服务实现.docx_第4页
第4页 / 共43页
JamesJavamail构建邮件服务实现.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

JamesJavamail构建邮件服务实现.docx

《JamesJavamail构建邮件服务实现.docx》由会员分享,可在线阅读,更多相关《JamesJavamail构建邮件服务实现.docx(43页珍藏版)》请在冰豆网上搜索。

JamesJavamail构建邮件服务实现.docx

JamesJavamail构建邮件服务实现

James+Javamail构建服务

(一)

关键字:

james

 James+Javamail构建服务

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

1关于James与Javamail

  ApacheJames(JavaApacheMailEnterpriseServer)是Apache组织的子项目之一,完全采用纯Java技术开发,实现了SMTP、POP3与NNTP等多种相关协议。

James是一个应用平台,可以通过Mailet扩充其功能,如Mail2SMS、Mail2Fax等。

James提供了比较完善的配置方案,尤其是关于容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。

James性能稳定、可配置性强,还是开源项目,所有源代码不存在问题,因此,James在项目中的应用日益广泛。

  JavamailAPI是一个用于阅读、编写和发送电子消息的可选包(标准扩展),可以用来建立基于标准的电子客户机,它支持各种因特网协议,包括:

SMTP、POP、IMAP、MIME、NNTP、S/MIME与其它协议。

  在本文档中,我们使用James2.3.1+Javamail1.4.1作为介绍蓝本。

2James服务器快速入门

  我们可以从ApacheJames的官方站点下载到我们所需要的James服务器与源码

  James服务器(ZIP版)下载地址:

  apache.mirror.phpchina./james/server/binaries/james-binary-2.3.1.zip

  James源码下载地址:

  apache.mirror.phpchina./james/server/source/james-2.3.1-src.zip

  其他版本的服务器与源码可到官方下载页面下载:

  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,输入telnetlocalhost4555(注:

localhost是服务器名,4555是管理端口,可在\apps\james\SAR-INF\config.xml文件中配置,在此我们使用其默认配置)

  然后输入用户名和密码(在配置文件config.xml中,默认为用户名:

root密码:

root)

出现如下信息说明登陆成功:

登陆成功后,我们就可以开始对用户信息进行增、删、查、改等操作了。

常用的用户信息操作命令参见下表:

?

Currentlyimplementedcommands:

                 常用实现命令

?

help               displaythishelp           显示帮助信息

?

listusers          displayexistingaccounts   显示现有账户

?

countusers         displaythenumberofexistingaccounts显示现有账户数量

?

adduser[username][password]  addanewuser  添加一个新用户

?

verify[username]  verifyifspecifieduserexist 核实指定用户是否存在

?

deluser[username]  deleteexistinguser       删除存在的用户

?

setpassword[username][password]  setsauser’spassword 设置用户密码

?

setalias[user][alias]  locallyforwardsallemailfor‘user’to‘alias’设置别名

?

showalias[username]  showsauser’scurrentemailalias显示别名

?

unsetalias[user]    unsetsanaliasfor‘user’   删除用户别名

?

setforwarding[username][emailaddress]  forwardsauser’semailtoanotheremailaddress     转发用户的电子地址到另一个电子地址

?

showforwarding[username]showsauser’scurrentemailforwarding显示用户的当前转发

?

unsetforwarding[username]    removesaforward        删除转发

?

user[repositoryname]   changetoanotheruserrepository  改变另一个用户库

?

shutdownkillsthecurrentJVM(convenientwhenJamesisrunasadaemon) 关闭当前的服务

?

quit               closeconnection             关闭连接

  我们可以输入命令:

adduserchenfengcn881213来添加一个的用户,则其用户名为:

chenfengcn,密码为:

881213,地址为:

chenfengcnlocalhost(用户名后的域名跟服务器配置的域名一样,在config.xml文件中配置,我们将在后面部分讨论如何配置服务器域名)。

这样,我们就完成了一个最简单的服务器的搭建操作。

下面就让我们使用Foxmail来测试一下我们的是否真正可以使用吧。

2.3使用Foxmail测试

  打开Foxmail,点击“”->“新建”

  电子地址:

chenfengcnlocalhost

  密码为:

881213

  POP3服务器:

localhost

  SMTP服务器:

localhost

  其余选项均使用默认即可,新建完成后,Foxmail将发送一测试到我们新建的里,点击“收取”,即可收取我们里面的了。

当收到Foxmail发送的测试,就说明我们的可以正常使用了。

  作为程序设计人员,我们当然希望能使用自己写的程序来测试我们的服务器是否搭建成功,而不是Foxmail。

下面就让我们用Javamail来实现这一切吧。

 

James+Javamail构建服务

(二)

电子开发2009-11-3010:

15:

30阅读21评论0字号:

大中小

3Javamail快速入门

  进行Javamail开发需要用到两个包:

mail.jar和activation.jar,在开始Javamail编程之前,请自己将这两个包添加到IDE的Buildpath中或将这两个包的路径配置到环境变量中。

3.1使用Javamail向James的发送

3.1.1业务描述

  本例将使用Javamail实现的发送功能。

发送需要配置服务器属性信息,配置接收地址,使用SMTP认证获得会话(Session),构建体(MimeMessage),发送。

具体编码如下:

3.1.2编码实现

  发送需要两个类:

一个是SMTP用户身份认证类(James在默认情况下,是需要SMTP身份认证的);另一个就是我们的发送类,为简单起见,我们直接将的相关信息,如:

标题、容、发送者、接收者等信息直接写在类中,运行main()函数即发送。

当然,你同样可以为自己的发送系统构造一个发送介面,通过Servlet将相关参数传递至后台进行处理与发送。

其主要代码也就是此main()函数中的容,故不赘述。

SmtpAuth.java用户身份认证代码

Java代码

package .newland.javamail.sample1;     

    

/**   

 * 用于身份认证   

 * author Chen.Feng(Kevin)
   

 *         mail:


   

 *         :

67758633   

*/    

class SmtpAuth extends javax.mail.Authenticator {     

    private String user, password;     

    

    /**   

     *    

     * param getuser   

     * param getpassword   

     */    

    public void setUserinfo(String getuser, String getpassword) {     

        user = getuser;     

        password = getpassword;     

    }     

    protected javax.mail.PasswordAuthentication getPasswordAuthentication() {     

        return new javax.mail.PasswordAuthentication(user, password);     

    }     

    public String getPassword() {     

        return password;     

    }     

    public void setPassword(String password) {     

        this.password = password;     

    }     

    public String getUser() {     

        return user;     

    }     

    public void setUser(String user) {     

        this.user = user;     

    }     

}   

packagecom.newland.javamail.sample1;

/**

*用于身份认证

*@authorChen.Feng(Kevin)

*mail:

chenfengcn@

*:

67758633

*/

classSmtpAuthextendsj

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1