基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc

上传人:文库蛋蛋多 文档编号:4022673 上传时间:2023-04-01 格式:DOC 页数:45 大小:360KB
返回 下载 相关 举报
基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc_第1页
第1页 / 共45页
基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc_第2页
第2页 / 共45页
基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc_第3页
第3页 / 共45页
基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc_第4页
第4页 / 共45页
基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc》由会员分享,可在线阅读,更多相关《基于贝叶斯算法分类的反垃圾邮件系统的改进硕士学位论文.doc(45页珍藏版)》请在三一办公上搜索。

1、学位论文题目:基于贝叶斯算法分类的反垃圾邮件系统的改进 摘 要电子邮件成为一种快捷、经济的现代通信技术手段,极大地方便了人们的通信与交流。然而,垃圾邮件的产生,影响了正常的电子邮件通信,占用了传输带宽,对系统安全造成了严重的威胁。因此,研究反垃圾邮件问题已经成为全球性的具有重大现实意义的课题。目前,应对垃圾邮件的主要方法和手段是通过反垃圾邮件立法和使用邮件过滤技术进行处理,现已相继出现了多种邮件过滤技术。常用的包括黑/白名单技术、基于内容的分析方法以及基于规则的方法等。基于内容分析的技术正逐步进入邮件过滤技术当中,并成为当前研究热点,其中,基于内容分析的邮件过滤方法中的典型方法是基于贝叶斯算法

2、的垃圾邮件过滤模型。本论文对中文垃圾邮件的特点进行了比较系统的分析和研究,结合贝叶斯(Bayes)理论,构造基于贝叶斯分类的垃圾邮件过滤模型,在特征提取方面,采用互信息值的方法,在分类方法上,引入了适合本文的分类方法,并采用了一种更加适合于贝叶斯计算的表示方法;本文作者采用中国教育科研网(CERNET)收集并维护的大量中文垃圾邮件和正常邮件样本的标准数据集,对本文研究的方法进行了大量测试,准确率和误判率分别达到了 95.8%和 5.3%。结果表明基于贝叶斯算法的垃圾邮件过滤系统对拦截垃圾邮件有很好的作用。关键词:电子邮件,垃圾邮件,邮件过滤,贝叶斯理论AbstractThe e-mail ha

3、s become a quick and economical means of modern communication technology, which enormously facilitates peoples communication and exchanges. However, the emergence of spam has affected the normal email correspondence, and taken the transmission band width, even posed the serious threat to the system

4、safety. Therefore, the study of anti-spam has become a global problem of great practical significance of the topic.At present, the main ways and means of the response to spam are the anti-spam legislation and the use of mail filtering technology. But now a variety of mail filtering technologies have

5、 appeared in succession, which are usually used including black / white list technologies, content-based analysis methods, and rule-based methods. Content-based analysis techniques are gradually entering the mail filtering technology which has become hot spots of current research. The typical method

6、 of content-based analysis mail filtering methods is based on Bayesian algorithm for spam filtering model.In this paper, the Chinese characteristics of spam has been studied and analyzed systematically. Combining with Bayesian (Bayes) theory, this paper constructs the spam filtering model which is b

7、ased on Bayesian classification. In feature extraction, mutual information values are used. In the classification method, a classification method is introduced which is suitable in this article, and a more suitable expression in the Bayesian calculation method is adopted; the standard sample data se

8、ts of a large number of Chinese spam and regular mail are collected and maintained by the Chinese Education and Research Net (CERNET). The author conducted a lot of testing towards the methods which are studied by this paper. The accuracy and misjudgment rate reached 95.8% and 5.3% respectively. The

9、 results show that the spam filtering system based on algorithm Bayesian plays a very good role to block spam.Key Words: e-mail, spam, mail filtering, Bayesian theory学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明

10、的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日目 录第一章 绪论31.1 引言31.2 垃圾邮件的定义及其危害41.2.1 垃圾邮件定义41.2.2 垃圾邮件危害541.3 国内外反垃圾邮件现状61.4 研究目标与内容7第二章

11、 垃圾邮件技术72.1 电子邮件工作原理简介72.1.1 电子邮件的概述72.1.2 电子邮件的格式82.1.3 邮件传送过程92.1.4 相关协议102.2 非技术手段反垃圾邮件152.3 常用反垃圾邮件技术162.3.1客户端垃圾邮件过滤技术162.3.2 服务器端垃圾邮件过滤技术17第三章垃圾邮件分类向量与特征向量193.1垃圾邮件分类向量概述193.2垃圾邮件分类向量与特征向量的定义203.3分类方法213.3.1文本量的表示方法213.3.2关键词的选择223.3.3特征提取的方法233.3.4分类方法介绍253.4基于垃圾邮件特征向量判断垃圾邮件的算法的设计253.4.1贝叶斯定理

12、28263.4.2贝叶斯过滤系统的工作原理263.4.3 算法的介绍27第四章基于标准邮件集构造垃圾邮件分类向量284.1标准邮件集284.1.1标准邮件集的背景284.1.2垃圾邮件和正常邮件的收集284.1.3标准邮件集的概述294.2基于标准邮件集的垃圾邮件分类向量304.2.1分类的实现304.2.2 提取分类向量的过程304.2.3先验概率的计算方法334.2.4特征提取的实现334.3基于贝叶斯原理的过滤系统的实现344.4算法的实现35第五章 实验结果及分析375.1基于贝叶斯算法的过滤系统实验环境375.2基于贝叶斯算法的过滤系统总体结构图385.3实验结果及性能分析395.3

13、.1系统实验结果的质量评价指标395.3.2阈值的确定及对过滤精度的影响405.3.3实验数据40第六章 总结与展望426.1论文总结426.2待改进的问题43参考文献43第一章 绪论1.1 引言伴随着电子邮件的迅速普及,越来越多的人使用电子邮件。然而,电子邮件在为人们提供极其方便的同时也成为垃圾邮件、病毒、恶意程序或敏感内容邮件传播的重要载体,对系统安全造成了严重的威胁。最早在 1975年的 RFC706“On the Junk Mail Problem”1中就提到了垃圾邮件,首次关于垃圾邮件的记录可以追溯到 1985 年 8 月的一封以电子邮件发送的连锁信。历史上比较著名的事件是1994年

14、4月份,Canter 和 Siegel 的法律事务所把一封信发到 6000 多个新闻组,宣传获得美国国内绿卡的法律支持。这是第一次使用 Spam(垃圾邮件)一词,用来描述新闻或电子邮件的主动性发布。一些商人开始学习Canter 和 Siegel,为商业公司提供广告信件和发送服务。1995 年 5月,网上出现了历史上第一个专用的垃圾邮件工具Floodgate2,一次可以自动把邮件发给很多人,垃圾邮件越来越多与商业联系起来。1995年8月,第一次有人公开贩卖200万个邮箱地址,各种垃圾邮件网站和组织也相继出现。随着垃圾邮件的出现和泛滥,人们开始了反垃圾邮件的不懈努力。1996 年的1 月,第一个反

15、垃圾邮件组织“自由骑士”成立;1996 年 7 月,著名的反垃圾邮件网站SpamHaus成立,例如使用REMOVE.TO.REPLY 的工具来过滤邮件地址。随着垃圾过滤邮件技术的发展以及人们对发送垃圾邮件者的谴责,垃圾邮件的制造者不得不采取更为隐蔽的技术,比如伪造信头中的发件人、域名和邮件地址等。然而这些方法还是逃不出 IP 地址的过滤。近几年来,垃圾邮件的泛滥是由于专门发送垃圾邮件的服务器大批涌现。根据中国互联网协会反垃圾邮件中心的统计,2005年以来几乎每月我国都有100多台服务器被国外权威反垃圾邮件组织列入黑名单3。中国是电子邮件大国,由于网络的开放性,垃圾邮件成为互联网上的一个日益严重

16、的全球性安全问题,越来越得到社会大众和研究人员的重视和关注。因此,针对这一问题尽快寻找解决方案的需求也更加迫切。1.2 垃圾邮件的定义及其危害1.2.1 垃圾邮件定义垃圾邮件的英文名称为 Spam或Junk Mail,一般使用Spam一词。很多组织或机构都给垃圾邮件下过定义。例如,著名的反垃圾组织spamhaus提出,垃圾邮件具备以下两个特征:(1) 不请自来。用户事先并未提出要求或者同意接收该邮件。(2) 批量性。该邮件的副本在短时间内被大量发送给一个或多个用户。2003 年,中国互联网协会在中国互联网协会反垃圾邮件规范中对垃圾邮件作了以下定义4:(1) 收件人事先没有提出要求或者同意接收的

17、广告、电子刊物、各种形式的宣传品等宣传性的电子邮件;(2) 收件人无法拒收的电子邮件;(3) 隐藏发件人身份、地址、标题等信息的电子邮件;(4) 含有虚假的信息源、发件人、路由等信息的电子邮件。从以上界定的邮件内容上看,目前可以将垃圾邮件归纳为具有以下几类特征的邮件:带有商业广告性质的邮件;色情、暴力邮件;网上购物及赚钱的邮件;带有政治目的的邮件以及带有病毒的邮件等。1.2.2 垃圾邮件危害5垃圾邮件的泛滥给人们带来的危害和损失主要体现在以下几个方面:(1) 垃圾邮件给网络运营商(ISP)造成了严重的损失。大量的垃圾邮件在网络上传播,占用了网络带宽,导致网络通信质量下降,甚至是网络发生拥塞,干

18、扰邮件系统的正常运行,根据2001年的一份研究报告显示,仅2000年垃圾邮件就给全球ISP造成了至少1000万美元的损失。最新的调查显示,企业收到的电子邮件中,竟有28%为垃圾邮件。英国电邮防毒企业Message Labs在调查中发现,有三分之一的企业抱怨他们收到了不想收到的电子邮件,有三分之二的企业表示他们正试图通过修改有关政策解决垃圾邮件泛滥的问题。调查报告指出企业雇员通常每日花费10分钟的时间清理收件箱内的垃圾邮件。照这一数字计算,每日由此造成的损失可达每100位雇员4.7万英镑。Message Labs公司指出,通过调查可以看出,越来越多的企业已经开始意识到垃圾邮件会浪费企业IT资源,

19、降低生产效率。一些企业己经采取了解决方案。一项统计报告指出ISP业者为了对抗垃圾邮件,平均每个用户必须花费2元美金成本;该项报告还指出垃圾邮件将影响传输速度30%以上。(2) 垃圾邮件侵害了用户的隐私权。由于垃圾邮件的内容不可控制,所以常常有很多有害的内容。例如,一些广告的垃圾邮件推广一些危险甚至是非法的盈利手段,如赌博或传销等;还有一些色情的邮件,含有大量不健康的内容,特别是当收件人是未成年人时危害更大。尤其危害大的是,很多垃圾邮件的附件中带有病毒,一旦收件人打开邮件,附件中的病毒就会对系统造成各种破坏。垃圾邮件占用了用户邮箱空间,严重时导致用户无法收取有用邮件;有的垃圾邮件还盗用他人的电子

20、邮件地址做发信地址,严重损害了用户的信誉。(3) 垃圾邮件给网络带来了各种安全性的问题。垃圾邮件会极大的影响网络的安全和系统的稳定性,特别是那些利用别人的服务器转发邮件的情况。因为目前大部分的垃圾邮件是利用第三方服务器转发(OPEN RELAY)。这样做可以节省邮件发送者经费,但是会给被盗用者带来很多危险,如由于线路拥塞,造成系统的瘫痪。他就会让被盗用的邮件服务器背上转发垃圾邮件的黑锅,影响正常的信件发送。例如早些时候,为了制止来自中国的垃圾邮件泛滥的趋势,中国电子邮件面临被欧洲全面封杀、由于技术落后和缺乏相应安全措施,美洲的垃圾邮件制造者通过中国的邮件服务器发送垃圾邮件,而中国国内的邮件服务

21、器配置很差,很难记录它们是从哪儿传来的信件。这些邮件服务器正是被西方垃圾邮件制造者用来转发垃圾邮件,这就是所谓“瞎子式转发”(Blind Relay),并被他们彼此以几百美元的价格互相买卖这种服务器的地址,最终欧美的很多ISP服务提供商封锁了中国的IP地址段。从那时起,国际反垃圾邮件(Mail-Abuse)等组织的黑名单上就没少出现中国互联网企业的名字,新浪、网易、搜狐、163邮局、263、21cn等国内主要邮件服务都曾上榜。据统计,我国网上用户约为3370万,平均每个用户拥有E-mail账号2.2个。随着中国加入世界贸易组织,中国的对外交流活动将呈上升趋势,对外邮件也将大幅增加,如果中国电子

22、邮件遭遇全面封杀的话,对国外企业与组织也是巨大的损失。(4) 垃圾邮件成了计算机病毒新的、快速的传播途径。有些病毒利用浏览器的漏洞,以邮件的形式把自己伪装成补丁和安全升级的电子邮件发送给用户,只要用户点击该邮件,该病毒就会被激活。由此可见,垃圾邮件的危害性是非常大的。必须重视垃圾邮件的危害性以及开展反垃圾邮件工作的重要性,与垃圾邮件进行不懈的斗争。1.3 国内外反垃圾邮件现状虽然垃圾邮件问题是最初从西方开始,以英文垃圾邮件为主,但是它越来越成为一个国际性的问题6,很多学者和技术人员也开展了反垃圾邮件的研究工作。2008年7月24日,中国互联网络信息中心(CNNIC)在京发布第22次中国互联网络

23、发展状况统计报告显示,截至2008年6月底,我国网民数量达到了2.53亿,首次大幅度超过美国,跃居世界第一位。与此同时,垃圾邮件也越来越深入网民的日常生活,电子邮件的使用率为62.6%,在网络应用中排名第六位。只有不到40网民使用电子邮件过滤软件,超过五成的网民没有使用过滤软件,数字显示网民对于防范垃圾邮件的意识薄弱7。我国反垃圾邮件的工作起步较晚,但发展迅速。2005 年 12 月成立了一个政府资助的反垃圾邮件联盟,以应对越来越严重的垃圾邮件问题8。2006年2月信息产业部颁布了中华人民共和国信息产业部第38号令互联网电子邮件服务管理办法,明确规定了对制造和传播垃圾邮件者的处罚办法。组织各网

24、络服务提供者、电子邮件服务商起草制订并发布中国互联网协会互联网公共电子邮件服务规范9;连续 7 次对外公布垃圾邮件黑名单 IP 地址;推出反垃圾邮件专业门户网站中国反垃圾邮件中心()等等一系列的具体而实际的反垃圾邮件治理工作,以减少垃圾邮件的泛滥。国内外电子邮件系统相关各方都进行了大量的工作,包括在电子邮件系统中引入数字证书,建立各种加密邮件协议和标准,研究邮件防病毒技术和垃圾邮件过滤技术等;同时,不少国家都出台了电子邮件应用相关的法律法规,如电子签名法、反垃圾邮件立法等,对其进行约束和规范。为了保证电子邮件在Internet上安全的运行,在理想状态下,应该有一个Internet电子邮件的安全

25、标准。所有的邮件作者和厂商都要执行它,那么我们在Internet上将具有安全的电子邮件。安全电子邮件先后提出了不同的标准:PGP、PEM和S/MIME。目前国际上有两大类流行的邮件安全系统标准:端到端安全邮件标准(PGP)和传输层安全邮件标准S/MIME。随着我国政府电子政务的建设,中国加入WTO,越来越多的企事业单位会建设自己的邮件系统/自动化办公系统,提高无纸化办公,实现电子商务。用户需要安全的电子邮件系统产品,能够迅速构建安全可靠、高性能的电子邮件系统,并且维护管理和使用都比较方便简单。安全电子邮件系统有着广泛的市场前景。1.4 研究目标与内容本文的研究目标是基于贝叶斯算法,构造垃圾邮件

26、过滤模型,并对相关算法进行分析、比较、验证和测试,最后基于改进的贝叶斯算法,实现对垃圾邮件的过滤。本文的主要工作是研究探讨基于内容分析的邮件过滤方法,分析贝叶斯算法及其改进算法的原理和实现方法,并研究过滤原型系统的设计、实现方法。主要工作内容如下:(1) 对当前现有过滤技术发展现状、基本原理、基本方法和过程进行研究和分析,并对主要过滤技术的优缺点进行比较。(2) 将垃圾邮件样本集分类,基于已分好类别的垃圾邮件样本集进行研究,提取每个类别中垃圾邮件的关键词,该关键词是垃圾邮件中的敏感字符,是一个类别中能表达该类别文本内容的词条,即分类向量。计算每个分类向量在各类别中出现的概率,即得到特征向量。(

27、3) 本文采用互信息的方法进行特征选取,计算每个关键词的RMI值,利用RMI值确定特征向量的分量词条。(4) 解决基于向量空间模型的邮件文本信息表示、文本分类中的特征向量的选择等问题,在对实现过滤器的关键技术中,主要针对基于朴素贝叶斯方法基础上对改进的贝叶斯算法进行深入研究,设计和实现基于贝叶斯算法分类的反垃圾邮件系统的改进的过滤系统,完成邮件过滤过程。第二章 垃圾邮件技术根据用户对反垃圾规则的可控性,本章根据电子邮件的原理,分析电子邮件技术及相关协议的不足,列举了当前的一些常用的反垃圾邮件技术,以便用户合理的选择反垃圾邮件技术。2.1 电子邮件工作原理简介2.1.1 电子邮件的概述电子邮件(

28、简称E-Mail)又称电子信箱、电子邮政,它是种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存储等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,电子邮件不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。Internet问世后的最初应用就是电子邮件。虽然今天Internet的应用范围得到了极大的拓展,电子邮件仍然是最为广泛的应用之一。在过去的若干年里,电子邮件

29、的功能已经丰富了很多。据2000年3月份MessagingOnline的一份数据显示,Internet上有5.69亿个邮箱,平均每个Internet用户有1.8个。中国互联网发展大事记中记载“1987年9月20日,钱天白教授发出我国第一封邮件超过长城,走向世界,揭开了中国人使用Internet的序幕”。今天,电子邮件已经成为商业、政府、教育等行业最基本的通信工具。为了创建一个世界范围的电子邮件系统,1984年ISO(国际标准化组织)和ITU(国际电信联盟)发布了一个新的信件传递标准,这就是X.40010,但由于它的规模和复杂性,并没有在全球范围内流行。后来,邮件的协议和内容格式也是由RFC(R

30、equest or Comments)几个文档规定的。RFC82111 规定SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),定义发送邮件的机制。RFC172512规定了POP3(Post Office Protocol 3,邮局协议版本3),定义了从 POP3 服务器收取邮件的机制。RFC82213协议主要定义邮件格式。根据需要传送各种非文本文件(例如图像文件、word 文件、pdf 文件、zip 文件等),人们又定义了 MIME 标准,作为 RFC822 的补充。MIME 即 Multipurpose Internet Mail Extensions

31、,多用途互联网邮件扩展协议,它由RFC2045 到 RFC2049 几个标准构成。目前几乎所有的邮件服务系统都支持 MIME 标准14。2.1.2 电子邮件的格式一个完整的电子邮件地址格式如下:userhostname.domainname即:用户名主机名.域名,表示“(at)”的意思,的左边是电子邮件用户的登录名,右边是完整的主机名,它由主机名与域名组成。其中,域名由几部分组成,每一部分称为一个子域(Subdomain),各子域之间用圆点“.”分隔,每个子域都会告诉用户一些有关这台邮件服务器的信息。在RFC2822Internet信息格式中规定了电子邮件的标准格式。电子邮件是由一行行文本组成

32、,每行以回车符(CR)和换行符(LF)结束,一封完整的电子邮件包括两部分:信封(邮件头)和内容(邮件体),邮件头和邮件体之间以一个空行来分隔。下面是一封简单的邮件:(1) From: user1(2) To: user2(3) Subject:邮件格式(4) Date: Thu, 8 Dec 2005. 11:21:19 GMT(5)(6) Hi, user1(7) 邮件格式(8) Thanks(9) User2其中1至4行是信头,6至9行是信体,第5行是必须加的空行。RFC为信头定义了20多个标准字段,包括Date、From、To、CC、BCC等一些必须和非必须的字段,另外,信头在传输过程中

33、并不是一成不变的,随着邮件的传输,MUA和MTA会在信头上增加一些路径信息,它们合在一起构成收到的信件的信头部分。下面简单介绍几个常用字段:(1) From:表示发信件的人;(2) To:指出收件人;(3) Subject:邮件主题;(4) Reply-To:发信人希望的回复地址;(5) Message-ID:标识一个信件,该字段由MUA或者第一个MTA产生;(6) Received:一个特定的MTA处理记录,处理信件的每个MTA必须在每个信件头的上面加上这个字段,用于跟踪邮件;(7) 以X开头的字段:不是RFC822中要求的字段,是SMTP服务器扩展的字段,由软件厂商自行定义。2.1.3 邮

34、件传送过程在通常的情况下,一封电子邮件的发送需要经过邮件用户代理MUA(Mail User Agent)、邮件传输代理MTA(Mail Transfer Agent)和邮件投递代理(Mail Delivery Agent)等三个程序的参与。用户代理MUA接受用户输入的各种指令,将用户的邮件传送至信件传输理或者通过POP协议或者是IMAP协议将信件从传输代理服务器处取到本机常见的用户代理有“Foxmail”,“Outlook Express”等邮件客户程序。传输代理MTA软件负责处理所有接收和发送的邮件。对每一个外发的邮件MTA决定接收方的目的地。若目的地主机是本机,则MTA将邮件直接发送到地邮

35、箱或交本地MDA进行投递;若目的地主机是远程邮件服务器,则MTA必使用SMTP协议在互联网上同远程主机通信,将信件在服务器之间传输并且将收到的邮件缓冲或者提交给最终投递程序。常用的MTA程序有Sendmail、Qmail和Postfix。投递代理MDA程序则从信件传输代理取得信件传送至最终用户的邮箱。显然,最终用户只能看到用户投递代理。常见的投递代理包括procmail等。整个邮件传输过程如下(如图2-1所示):服务器发件方收件方服务器InternetDNSMDA邮箱SMTPSMTPPOP/IMAP图2-1电子邮件传输过程(1) 邮件发送者利用本地的MUA1,按照简单邮件传输协议SMTP(Si

36、m Mail Transfer Protocol)把邮件发送给本域MTA1;(2) MTA1根据邮件的接收地址中的域名去查询域名服务器DNS(Dom Name Server)获得接收者的MTA2的IP地址;(3) MTA1与MTA2按照SMTP协议通讯,把邮件转发到MTA2;(4) MTA2发现邮件是本地邮件,则把邮件转发给MDA;(5) MDA把邮件分发到对应的邮箱中;(6) 邮件接收者按照邮局协议POP3(Post Office Proto version 3)或Internet邮件访问协议IMAP4(Internet Message Access Proto version 4)从邮箱中

37、获取邮件。由于目前使用的SMTP协议是存储转发协议,意味着它允许邮件通过一系的服务器发送到最终目的地。服务器在一个队列中存储到达的邮件,等待发送下一个目的地。下一个目的地可以是本地用户,或者是另一个邮件服务器。如果下游的服务器暂时不可用,MTA就暂时在队列中保存信件,并在以尝试发送,如图2-2所示:MUAMTAMTAMTAMDA邮箱队列队列队列图2-2电子邮件的存储转发示意图2.1.4 相关协议1、SMTP协议(1) SMTP的基本结构15:SMTP(Simple Mail Transfer Protocol)的内容被包含在RFC82116中。2001年4月,RFC282117对该协议进行了更

38、新。SMTP协议是为了保证电子邮件的可靠和高效传送。TCP/IP协议的应用层中包含有SMTP协议,但事实上它与传输系统和机制无关,仅要求一个可靠的数据流通道。它可以工作在TCP上,也可以工作在NCP、NITS等协议上。在TCP上,它使用端口25进行传输。SMTP的一个重要特点是可以在可交互的通信系统中转发邮件。SMTP提供了一种邮件传输的机制,当收件方和发件方都在一个网络上时,可以把邮件直传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP首先由发件方提出申请,要求与接收方SMTP建立双向的通信渠道,收件方可以是最终收件人也可以是中间转发的服务器。收件方服务器确认可以

39、建立连接后,双方就可以开始通信。发件方SMTP向收件方发出MAIL命令,告知发件方的身份;如果收件方接受,就会回答OK。发件方再发出RCPT命令,告知收件人的身份,收件方SMTP确认是否接收或转发,如果同意就回答OK;接下来就可以进行数据传输了。通信过程中,发件方SMTP与收件方SMTP采用对话式的交互方式,发件方提出要求,收件方进行确认,确认后才进行下一步的动作。整个过程由发件方控制,有时需要确认几回才可以。为了保证回复命令的有效,SMTP要求发件方必须提供接收方的服务器及邮箱。邮件的命令和答复有严格的语法定义,并且回复具有相应的数字代码。所有的命令由ASCII码组成。命令代码是大小写无关的

40、,如MAIL和mail、mAIL是等效的。(2)SMTP的基本命令:SMTP定义了14个命令,它们是:HELOMAILFROM:RCPTTO:DATARSETSENDFROM: SOMLFROM:SAMLFROM:VRFYEXPNHELPNOOPQUITTURN其中使得SMTP工作的基本的命令有7个,分别为:HELO、MAIL、RCPT、DATA、REST、NOOP和QUIT。下面分别介绍如下:HELO:发件方问候收件方,后面是发件人的服务器地址或标识。收件方回答OK时标识自己的身份。问候和确认过程表明两台机器可以进行通信,同时状态参量被复位,缓冲区被清空。MAIL:这个命令用来开始传送邮件,

41、它的后面跟随发件方邮件地址(返回邮件地址)。它也用来当邮件无法送达时,发送失败通知。为保证邮件的成功发送,发件方的地址应是被对方或中间转发方同意接受的。这个命令会清空有关的缓冲区,为新的邮件做准备。RCPT:这个命令告诉收件方收件人的邮箱。当有多个收件人时,需要多次使用该命令,每次只能指明一个人。如果接收方服务器不同意转发这个地址的邮件,它必须报550错误代码通知发件方。如果服务器同意转发,它要更改邮件发送路径,把最开始的目的地(该服务器)换成下一个服务器。DATA:收件方把改命令之后的数据作为发送的数据。数据被加入数据缓冲区中,以单独一行是“.”的行结束数据。结束行对于接收方同时意味着立即开

42、始缓冲区内的数据传送,传送结束后清空缓冲区。如果传送接受,接收方回复OK。REST:这个命令用来通知收件方复位,所有已存入缓冲区的收件人数据、发件人数据和待传送的数据都必须清除,接收方必须回答OK。NOOP:这个命令不影响任何参数,只是要求接收方回答OK,不会影响缓冲区的数据。QUIT:SMTP要求接收方必须回答OK,然后中断传输;在收到这个命令并回答OK前,收件方不得中断连接,即使传输出现错误。发件方在发出这个命令并收到OK答复前,也不得中断连接。下面是SMTP答复中用到的代码和含义:500 Syntax error,command unrecognized This may include

43、 errors such as command line too long501 Syntax error in parameters or arguments502 Command not implemented503 Bad sequence of commands504 Command parameter not implemented211 System status,or system help reply214 Help messageInformation on how to use the receiver or the meaning of aparticular non-s

44、tandard command;this reply is useful only to the human user220Service ready221Service closing transmission channel421Service not available,closing transmission channelThis may be a reply to any command if the service knows it must shut down250 Requested mail action okay,completed251 User not local;w

45、ill forward to450 Requested mail action not taken:mailbox unavailableE.g.,mailbox busy550 Requested action not taken:mailbox unavailableE.g.,mailbox not found,no access451 Requested action aborted:error in processing551 User not local;please try452 Requested action not taken:insufficient system stor

46、age552 Requested mail action aborted:exceeded storage allocation553 Requested action not taken:mailbox name not allowedE.g.,mailbox syntax incorrect354 Start mail input;end with.554 Transaction failed最后,让我们看一个RFC821中给出的例子。这封信是Smith在主机Alpha.ARPA发给主机Beta.ARPA上的Jones,Green和Brown,并且假定两台主机在同一个网络上。S:MAIL FROM:R:250 OKS:RCPT TO:R:250 OKS:RCPT TO:R:550 No such user hereS:RCPT TO:R:250 OKS:DATAR:3

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号