您的位置:首页 > 编程语言 > Java开发

用java实现的邮件系统八(总结)

2010-08-31 23:06 281 查看
本系统所用的技术点有:对String方法的操作,对文件的一些列操作(文件读写操作,把一个文件拷到一个文件夹的操作,把一个文件夹拷到一个文件夹的操作,对文件的删除操作,属性文件的操作(但是在这里我没有对用属性文件,而是用了数据库,当然对于一个刚学java的人,如果不会用数据库,就使用属性文件)),集合的操作,多线程,socket通信,javamail。测试工具outlook。

下面对邮件的SMTP服务器的实现进行一个简要的说明:

1.监听25号端口,这里要用到socket通信和多线程了,这就没什么好说的了

2.对于SMTP协议 ,有两种形式:第一种是helo,不需要验证,就可以发送邮件了。

第二种就是ehlo了,它需要服务器端的验证,并且还要通过base64编码的验证(我想在网上大家很容易就能找到base64的代码)。

3.对于其它的一些验证我就不说了,我在这发布的这个服务器只是一个测试版的,没有做太多的验证(暂时用了一个静态的用户:lg,密码:123),在outlook上测试的时候只要账户为:lg,密码为:123,邮件地址:“用户名”@chunhua.com的形式就ok了

4.不管是谁发的邮件,只要它发过来了我就把它存到一个固定的一个文件里面。

5.对于群发实现思路,只要在做rcpt命令时候,把收件人的邮件地址存到一个集合里面,执行完data命令后或执行quit命令前,只要遍历一下收件人的集合对象,之后把放在临时文件里面的邮件内容拷到相应收件人的文件夹中就ok了。

6,对于转发是怎么实现的呢,我们可以通过“域名”,来作为转发的条件。当然这是在遍历收件人集合里面做的事情,如果收件人的“域名”和本地“chunhua”域名相同那么它就是本地用户,如果不是就做转发的操作了(转发这里怎么获取ip地址可能是大家的一个难题,如果大家实在想不到,可以给我发邮件。)转发也可以用javamail来实现,在这里面我没有使用javamail来做转发的事情。

今天时间也不早了,以后有时间我会把邮件系统里面一些其他的代码进行一一讲解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐