版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Internet应用
-电子邮件服务电子邮件系统电子邮件系统的基本概念电子邮件系统及其协议报文传输代理MTA及SMTP邮件用户代理及POP3报文协议RFC822多用途Internet报文扩展协议MIME电子邮件系统的基本概念1972年BBN的RayTomlinson发明电子邮件系统并采用@符号。电子邮件系统要求每个用户有一个email地址。Internet上email地址的形式是: 用户名@主机域名 这里@念作“at”,意思为“在”。@左边是用户名或用户所使用的电子邮箱名。邮箱所在主机通常称为邮件服务器。@右边是用户使用的邮件服务器所在域的域名。例如清华大学的域名是,所以就是清华的某email地址。电子邮件系统的基本概念(续)电子邮件系统的一个非常有用的功能是利用所谓邮寄表(mailinglist)向多个用户发送同一邮件。邮寄表是一组email地址并有一个组名,也称“别名(alias)”,发给该组名的邮件会自动分发给它代表的每个email地址。一些邮件系统的地址簿或通讯簿(address
book)有类似的功能。电子邮件系统及其协议电子邮件系统包括两个部分:报文传输代理MTA(MessageTransferAgent)和邮件用户代理UA(UserAgent)。报文传输代理MTA相当于邮局,为用户发送和接收邮件。运行报文传输代理的主机就是邮件服务器,它不间断地运行,为用户接收、发送和保存邮件。邮局用户代理UA是邮件系统的用户界面,它帮助用户阅读、编辑、管理邮件。当UA按用户的命令准备好要发送的邮件后,就交给MTA。电子邮件系统及其协议(续)在UNIX中,最常用的报文传输代理MTA是Sendmail程序,它在后台运行,它随时准备好接收网络向本机邮箱发来的邮件,并向网上发送本机用户发出的邮件。Sendmail安全性差,用户多时管理复杂。DanBernstein开发的Qmail及WietseVenema开发的Postfix,都希望提供更快、更安全、更容易管理的MTA来替换Sendmail。电子邮件系统及其协议(续)报文传输代理之间使用简单邮件传输协议SMTP(SimpleMailTransferProtocol)进行通信。在PC机上的独立邮件用户代理(如NetscapeMessenger或OutlookExpress)和报文传输代理之间的通信协议是POP3(PostOfficeProtocol-Version3)或IMAP4(InternetMessageAccessProtocol-Version4)。所以在Internet中,邮件是以SMTP
协议传递的,到了目标邮件服务器后,再到PC机这最后一程是使用POP3
(或IMAP4)传递的。电子邮件系统及其协议(续)NetscapeMessengerMTApopserverimapserverPOP3IMAP4OutlookExpressMTApopserverimapserverPOP3IMAP4SMTP报文传输代理MTA及SMTPInternet报文传输代理实现协议SMTP,SMTP十分简单,它只定义邮件如何从一个“邮局”传给另一个“邮局”,只规定MTA之间的命令和回答。MTA主要就是生成、处理、回答SMTP命令。MTA发送方MTA接收方命令回答SMTP客户SMTP服务器报文传输代理MTA及SMTP(续)SMTP的最小实现包括七条命令:HELO
<主机域名> 开始会话MAILFROM:<发送者email地址> 开始一次邮件事务,指出邮件发送者RCPTTO:<接收者email地址> 指出接收者DATA 开始邮件报文RSET 中止当前邮件事务NOOP 无操作QUIT 结束会话报文传输代理MTA及SMTP(续)发送方发送一个邮件到接收方的过程就是它们之间的一次会话,会话分连接建立、邮件传送、连接关闭三个阶段:(1)连接建立发送方发起并建立一条到接收方的TCP连接;接收方回答“220<本机域名>...”通报自己域名;发送方发“HELO<本机域名>”通报自己域名;接收方回答“250…”接收发送方域名,双方建立起通信的初始状态,发送方就可传输邮件。报文传输代理MTA及SMTP(续)(2)邮件传送:发送方每传送一个邮件称为一次邮件事务,MAIL,RCPT,DATA是一个邮件事务的三部曲,也是发送一个邮件的过程。发送方发“MAILFROM:<发送者email地址>”命令; 接收方回答“250…”表示准备好接收报文, 若邮箱忙回答“450…”,若处理有错…。报文传输代理MTA及SMTP(续)(3)连接关闭发送方发命令QUIT,接收方回答“221<本机域名>…”后关闭TCP连接。注意,回答主要是一个3位的十进数码: 以4和5开头的表示有错,如语法错误等。以2和3开头的表示正确。标准对各种命令的回答数码作了详细规定。报文传输代理MTA及SMTP(续)SMTP的限制:SMTP规定邮件报文是7位的ASCII字符串,在传输邮件时将8位字符的最高位置“0”(虽然TCP连接支持传输8位的字符)。早期的实现限制邮件报文的大小不能超过64k字节。每个报文行的最大长度是1000字符。一个邮件的接收者不能超过100名。报文传输代理MTA及SMTP(续)扩展的SMTP—ESMTP(ExtendedSMTP):扩展的SMTP增加了新命令EHLO,用EHLO代替HELO来开始一次会话。若接收方也实现了SMTP的扩展,则对EHLO命令回答“250”。然后在MAIL命令中FROM后可以增加参数“BODY=8BITMIME”表示DATA后面传输8位字节的MIME报文;也可增加参数“SIZE=报文大小”(用十进制表示,单位是字节)等。SMTP的一次会话过程示例(续)S:MAILFROM:<> BODY=8BITMIMER:250<>…Senderand 8BITMIMEokS:RCPTTO:<>R:250<>…RecipientokS:DATAR:354Entermail,endwith“.”onalinebyitselfSMTP的一次会话过程示例(续)S:张三:你好S:……S:李四S:.R:250KAA20017MessageacceptedfordeliveryS:QUITR:221closingconnection邮件用户代理及POP3POP3允许用户通过PC机动态地检索邮件服务器上的邮件。一般它只是下载邮件,没有很多管理操作。POP3采用客户/服务器模式,POP3客户程序在用户的PC机上运行,POP3服务器程序在邮件服务器上运行。POP3协议描述POP3客户和POP3服务器之间的通信,通信建立在TCP之上,POP3客户发命令,POP3服务器回答命令。邮件用户代理及POP3(续)授权状态:客户发送USER命令给出用户在邮件服务器上的邮箱名,若是合法用户,服务器回答“+OK”。客户再发送PASS命令给出口令。POP3服务器确定用户是否有权访问该邮箱,若有权访问,服务器再次回答“+OK”,若是非法用户,服务器回答“-ERR”。USER和PASS命令用口令方式对用户进行授权验证。邮件用户代理及POP3(续)事务状态:若对用户的授权验证成功,则服务器申请资源与用户的邮箱关联,会话进入第二个状态,称为事务(transaction)状态。在事务状态,服务器将存储的邮件分成一个个报文,并从1开始编号。在事务状态,客户可以重复发送一些命令检索报文(RETR)、删除报文(DELE)(作删除标记)等。POP3实现的命令(续)前三条命令,即USER,PASS,QUIT是在授权状态下的命令。服务器验证USER和PASS命令中的参数确定是否合法用户,若是非法用户,服务器回答“-ERR”,客户再发USER命令或QUIT命令退出会话。后七条命令,包括QUIT,是在事务状态下的命令。POP3客户和服务器会话例S:<在TCP端口110等待连接>C:<打开TCP连接>S:+OKoarpop3serverreadyC:USERwrongidS:-ERRsorry,wrongiddoesn’tgethismailhereC:USERyour_useridS:+OKyour_useridiswelcomehereC:PASSyour_passwordPOP3客户和服务器会话例(续)S:+OKyour_userid’smaildrophas2messages (320octets)C:STATS:+OK2320C:LISTS:+OK2messages(320octets)S:1120S:2220S:.POP3客户和服务器会话例(续)C:RETR1S:+OK120octetsS:报文1的内容S:.C:DELE1S:+OKmessage1deletedC:RETR2S:+OK200octetsPOP3客户和服务器会话例(续)S:报文2的内容S:.C:DELE2S:+OKmessage2deletedC:QUITS:+OKoarpop3serversigningoff(maildropempty)C:<关闭连接>S:<等待下一连接>POP3客户和服务器会话例(续)POP3协议只规定用户代理如何从邮件服务器检索邮件。若POP3客户要发送邮件,则它要与邮件服务器建立一个SMTP连接,将邮件交给MTA。POP3用户代理有两个功能:检索邮件和发送邮件,前者用POP3协议,后者用SMTP协议。POP3客户也实现了SMTP客户模块,但它与MTA上的SMTP客户模块不同…。报文协议RFC822Internet主机之间传送的报文是7位ASCII字符流。每个报文分成两部分:报文头(messageheader)和报文体(messagebody),两者以一空行分隔。报文头在报文体之前,它是一些控制信息,包括收方和发方的地址、日期等。报文体是用户邮件内容,RFC只规定它是ASCII字符串。报文头由一系列头字段(headerfields)组成,每个头字段的形式是:
字段名(field-name):字段体(field-body)报文协议RFC822(续)报文协议RFC822(续)每个转发报文的MTA都加上字段“Received:”,用from后跟转发主机,by后跟接收主机及收到的时间,with后跟传输协议smtp或esmtp。RFC822对邮件最大的限制是邮件报文体是ASCII字符流,每个ASCII字符是7位。SMTP中又规定传输邮件时将8位字节的最高位清0,这样电子邮件就不能包括多国文字和多媒体信息。邮件报文格式RFC822极需扩充,提出了多用途Internet报文扩展MIME(MultipurposeInternetMailExtensions)。MIMEMIME是RFC822的扩展,在MIME标准中,RFC822的报文头、报文体基本模式不变,RFC822定义的标准头字段的语法和语义不变。MIME增加了几个头字段,常用的是:
MIME-Version:1.0
Content-Type:类型/子类型
Content-Transfer-Encoding:7bit|8bit|binary |base64|quoted-printableMIME(续)邮件报文要使用各国文字及多媒体信息,可利用报文头字段“Content-Type:类型/子类型”指明报文体的数据类型。MIME定义了7种数据类型。Internet邮件的默认数据类型是
Content-Type:text/plain;charset=us-asciiMIME定义的7种数据类型中,许多类型按其本身的格式在传输中应为8位的字符串,即二进制数据。但采用SMTP,那些数据无法正确传输,头字段“Content-Transfer-Encoding:...”指明数据的传输编码方式。MIME传输编码—base64基数64编码(base64):是根据Radix-64编码表将3个字节的二进制数据变换为4个可打印的ASCII字符(7位)。3个字节24位,分为4个6位,每个6位二进制数是0~63,按Radix-64编码表转换成ASCII字符。报文体末尾不足3字节,即只有16位或8位,就分别转换为3个或2个ASCII字符,再分别填充一个或两个“=”字符。所以当编码后的文本末尾为“=”或“==”时,分别指示报文内容最后一组为16位或8位。Radix-64编码表MIME传输编码—quoted-printable带引见符的可打印编码(quoted-printable):对每个字节的8位二进制数进行编码,28=162=256,用两个十六进制数可以对它们全部进行编码。具体规则:1.除下列2,3,4指明的字符外,其余字符被编码成“=”后跟表示该字符值的两个十六进制数字。“=”是引见符。“=”本身就被表示为“=3D”。2.十进制33到126(除61外),对应可打印的ASCII字符“!”到“~”(除“=”外),仍用ASCII编码。MIME传输编码—quoted-printable3.字节值为十进数9,23时,仍分别编码为ASCII字符<HT>,<SP>(空格),若它们出现在报文行末尾,则按规则1编码。因有些MTA在报文行末尾填充空格或删除空格,这样可防止空格被删。4.RFC822规定的标准行分隔符<CR><LF>仍编码为<CR><LF>。5.Quoted-printable编码要求每个编码行不超过76字符(不包括末尾的<CR><LF>,对于太长的行就插入“=<CR><LF>”来分行。MIME传输编码在传输非ASCII报文时,若MTA都支持传输8位字节的MIME报文,则传输编码采用8bit最简单,否则要作转换。当报文中包含大量非ASCII字符时,应采用base64,否则采用quoted-printable。MIME报文类型1.
text
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版农户土地承包流转合同中包含农村电商合作条款范本4篇
- 2025版木枋行业绿色生产与节能减排合同4篇
- 2025年度配电室电气设备安装与调试合同4篇
- 2025年度智能煤场租赁与运营管理合同
- 避孕套妇产科学讲解
- 二零二五年度农产品电商平台数据分析及用户行为研究合同
- 2025年度农产品电商运营托管服务合同4篇
- 二零二五版木结构建筑项目管理与咨询服务合同3篇
- 二零二五年度木门安装与售后服务合同规范范本2篇
- 二零二五年度公务用车全生命周期维护服务合同3篇
- 图像识别领域自适应技术-洞察分析
- 个体户店铺租赁合同
- 礼盒业务销售方案
- 二十届三中全会精神学习试题及答案(100题)
- 中石化高级职称英语考试
- 小学五年级英语阅读理解(带答案)
- 2024二十届三中全会知识竞赛题库及答案
- 仁爱版初中英语单词(按字母顺序排版)
- (正式版)YS∕T 5040-2024 有色金属矿山工程项目可行性研究报告编制标准
- 小学一年级拼音天天练
- 新概念英语第二册考评试卷含答案(第49-56课)
评论
0/150
提交评论