java 收发emal的测试

 这个测试的目的主要是想用163,或者gmail来做文件服务器,做到c/s模式的程序在任何地方保持更新

刚开始就有个问题,写properties的时候,等号后面的值不需要加引号。

 

 to be continued

 

这个测试,是在我需要建立一个 名叫myplan的 程序的时候想到的技术难点,因为在这个项目中,我需要在不同的机器上运行相同的客户端,但是又需要每个客户端保持同步,那么就需要借助网络来更新配置客户端,从文件服务器空间下载配置文件不现实,不稳定,免费的文件空间很少,最广泛的就是邮件,所有想利用邮件来做配置文件的中转。

 

 

这里我写了三个测类,这个是发送email到指定的email的。

这里用到的是apache的commons.mail组件,apache封装的java的基本的mail类,使用起来更简单。

网络上也有很多开源的封装了sun公司的基础mail类,但是到最后归根结地最后都是需要调用sun的基础mail jar包。

期间需要调用的这几个包 activation.jar  commons-email-1.1-sources.jar  mail.jar  commons-email-1.1.jar

 

 具体的作用,需要上网查找下

打开 commons..emal的document文档,查找 httpemal的解释,发现以下words:

This class is used to send HTML formatted email. A text message can also be set for HTML unaware email clients, such as text-based email clients.

This class also inherits from MultiPartEmail, so it is easy to add attachments to the email.

 

这样简单的一句话,大家就可以猜到apache的email的类的结构,email下面有simpleemal和multipartemail,而multipartEmail下面有htmlEmail所以,功能最全的就算htmlEmal了,包括附件发送功能,在这个测试代码中没有实现附件的发送,附件的发送大略看了下,需要建一个附件类,如果想测试的话,实际应用的时候再解决,本来此次的目的仅仅是测试而已.

 

这里需要设置的一些参数:发送方的邮件服务器,比如我测试用到的是163的发送到gmail邮箱,这样我就需要设置163的账户密码,邮件服务器地址,这样程序就可以通过这些参数得到访问163服务器的权限,在163服务器中建立以邮件,至于建立的邮件的头,也就是要发送到那里去,发信者是谁,编码格式,文件body包含的内容,这一切也需要相应的参数,设置完毕后就可以执行,这样程序执行的时候就相当于 自动在163中帮助你写了一封发送到gmail的电子邮件,然后发送出去,我们所要做的就是在程序中设置好一些相关的,所要涉及到的参数,最后让程序自己去完成这个整长串的动作。

现在发送的email测试完毕,开始做emal接受测试。

测试目的:接收某个邮箱帐户下面的邮件,可以使指定的邮件,读过或者没读过的,特定的邮件。

代码如下

 

这个class 用的是java的自带的mail包,但是原创者的类写的很清晰,首先在main方法中建立一个session ,也就是一个connection,然后通过这个connection,得到相对应帐户里面的邮件的一个list 在程序里面就是

 Message message[] = folder.getMessages();

 

然后循环遍历这个序列,把每一个message 拿出来,建立一个MimeMessage的object.

 pmm = new ReceiveEmail((MimeMessage)message[i]);

最后执行相应的方法,从这个object种取出邮件的header ,body,footer.

具体的怎么取出来的fuction是怎么实现的,我们不需要考虑,也不必要考虑,我一直认为程序员要把精力放在一个点上,当然,说的是做项目的时候。

平时兴趣爱好还是需要广泛研究的。

补充一点啊,这个程序的结果是打印出所有的这个账户下面的邮件,如果实际应用中我想需要过滤掉不需要的邮件,这些只需要在循环里面做一些小小的判断而已。

最后测试的结果的时候,打印邮件,打印到一半的时候出报错了,我看了下报错原因,我估计是文件体里面的格式太多了,无法正常打印,supose there have some picures in the body of email,what will you do? I think the cantral platform can't display such complexed contains.

then , at this time ,the emal test report is ended.

by the way, when test this project ,I found google is a very creativety company, you can find many function ,which is useful for you work,your net work, mostly , for programer,It provide many things such as free space on net,or free emal...etc.

go to google,and reserch ,just spend half a hour,you will find what you want.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值