2022年电子邮件系统的设计方案与实现 .docx
《2022年电子邮件系统的设计方案与实现 .docx》由会员分享,可在线阅读,更多相关《2022年电子邮件系统的设计方案与实现 .docx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 第一章前言1.1 课题来源 当前流行的各大邮件客户端软件除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能特殊对于那些运算机学问相对缺乏的人来说,更加显得太过于华丽而不太实用;有鉴于此,在明白RFC 底层协议的基础上,本人开发了这个各种功能相对简洁有用的;邮件客户端程序,简化了很多不必要的功能1.2 电子邮件介绍 电子邮件 简称 E-mail )又称电子信箱、电子邮政,它是一种用电子手段供应信息交换的通信方式;它是全球多种网络上使用最普遍的一项服务;这种非交互式的通信,加速了信息的沟通及数据传送,它是一个简易、快
2、速的方法;通过连接全世界的Internet,实现各类信号的传送、接收、储备等处理,将邮件送到世界的各个角落;到目前为止,可以说电子邮件是Internet 资源使用最多的一种服务,E-mail 不只局限于信件的传递 , 仍 可 用 来 传 递 文 件 、 声 音 及 图 形 、 图 像 等 不 同 类 型 的 信 息 ;电子邮件不是一种“终端到终端 ” 的服务,是被称为“储备转发式 ” 服务;这正是电子信箱系统的核心,利用储备转发可进行非有用时通信,属异步通信方式;即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件读取信件,不受时空限制;在这里,“发送 ”邮件意味
3、着将邮件放到收件人的信箱中,而“ 接收 ” 邮件就意味着从自己的信箱中读取信件,信箱实际上是由文件治理系统支持是一个实体;由于电子邮件是通过邮件服务器 mail server)来传递的;通常 mail server 是执行多任务操作系统 UNIX的运算机,它供应 24 小时的电子邮件服务,用户只要向 mail server 治理人员申请一个信箱账 号,就 可 使 用 这 项 快 递 的 邮 件 服 务;1.3 电 子 邮 件 的 工 作 原 理 : 电 子 邮 件 的 发 送 是 通 过 电 子 邮 件 简 单 传 速 协 议, 512 内存),80G 硬盘 MicrosoftWindows
4、XP Professional Micosoft Visual Studio 2003 0 接受全部的邮件保留服务器上的邮件?删除邮件关闭连接 退出图 4 接收邮件流程图发送邮件的流程图,先检查“ 发信箱” 目录中是否有待发邮件,假如有就逐个发送这些邮件,流程图如图5 所示;其发送过程,第一需要创建一个TCP 连接,连接到SMTP 服务器,假如连接不胜利就退出程序;连接胜利后发送USER 和 PASS 命令进行身份验证;身份验证通过后发送邮件,假如发送胜利就关闭连接,更新数据库,完成邮件发送任务;4 / 22 名师归纳总结 - - - - - - -第 4 页,共 22 页精选学习资料 - -
5、 - - - - - - - 开头检查发信箱中的待发邮件待发邮件?连接服务器连接胜利SMTP 服 务 器 需 要 身份身份验证身 份 验 证胜利?发送待发邮件发送胜利关闭连接更新数据库获得下一个邮件 退出图 5 发送邮件流程图3.2 SMTP协议的讨论由于要开发的是邮件客服端程序,就不得不用到SMTP 协议和 POP 协议;而我个人负责的是邮件发送功能的实现,因此就必定会涉及到SMTPSimple Mail Transfer Protocol)协议; SMTP 被用来在因特网上发送邮件,该协议规定了一些基本的命令和方法使客服端与服务器进行交互,以达到发送邮件的目的;5 / 22 名师归纳总结
6、- - - - - - -第 5 页,共 22 页精选学习资料 - - - - - - - - - 3.2.1SMTP 介绍 简洁邮件传输协议 SMTP )的目标是牢靠高效地传送邮件,它独立于传送子系统而 且仅要求一条可以保证传送数据单元次序的通道;SMTP 的一个重要特点是它能够在传送中接力传送邮件,传送服务器供应了进程间通 信环境 IPCE),此环境可以包括一个网络,几个网络或一个网络的子网;懂得到传输送 系统 或 IPCE)不是一对一的是很重要的;进程可能直接和其它进程通过已知的 IPCE 通信;邮件是一个应用程序或进程间通信;邮件可以通过连接在不同IPCE 上的进程跨网络进行邮件传送;
7、更特殊是,邮件可以通过不同网络上的主机接力式传送;3.2.2SMTP 模型SMTP 设计基于以上通信模型:针对用户的邮件恳求,发送 SMTP 建立于接收 SMTP 之间建立一个双向传送通道;接收 SMTP 可以是最终接收者也可以是中间传送者;SMTP命令由发送 SMTP 发出,由接收 SMTP 接收,而应答就反方面传送;一旦传送通道建立,SMTP 发送者发送 MAIL 命令指明邮件发送者;假如 SMTP 接收者可以接收邮件就返回 OK 应答; SMTP 发送者再发出 RCRT 命令确认邮件是否接收到;假如 SMTP 接收者接收,就返回 OK 应答;假如不能接收到,就发出拒绝接收应答 但不中止整
8、个邮件操作),双方将如此重复多次;当接收者到全部邮件后会接收到特殊的序列,假如接收者胜利处理了邮件,就返回 OK 应答;SMTP 供应传送邮件的机制,假如接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;或者,当两者在不同一个传送服务下时,通过中继 SMTP 服务器传送;为了能够对 机地址和邮箱名称;SMTP 服务器供应中继才能,它必需拥有最终目的主MAIL 命令参数是回复路径,它指定邮件从何处来;而 RCPT 命令的参数是转发路径的,它指定邮件向何处去;向前路径是源路径,而回复路径是返回路径 它用于发生错误时返回邮件);当同一个消息要发往不同的接收者时,SMT
9、P 遇到了向不同接收者发送同一份数据的复制品的问题,邮件命令和应答有一个比较古怪的语法,应答也有一个数字代码;在下 面,例子中可以看到哪些使用实际的命令和应答;完整的命令和应答在第四节;命令与应答对大小写不敏锐,也就是说,命令和应答可以是大写,小写或两者的混 合,但这一点对用户邮件名称却不肯定是对的,由于有的主机对用户名大小写是敏锐的;这样 SMTP 实现中就将用户邮箱名称保留成初始时的样子,主机名称对大小写不敏锐;命令与应答由ASCII 字母表组成,当传送服务供应8 位子节传送通道,每7 位字符正确传送,而最高位被填充为0;当指定一般的命令或应答格式后,参数会由一些类似于语言的字符串表示出来
10、,如“ ” 或“” ,这里尖括号表示这是一种类似于语言的变量;3.3SMTP协议的命令和应答 3.3.1SMTP 协议的命令SMTP 命令定义了邮件传输或用户定义的系统功能;它的命令是由 终止的字符串;而在带有参数的情形下,命令本身由和参数分开,假如未带参数可以直接和 连接;邮箱的语法格式必需和接收站点的格式一样;3.3.2SMTP 的应答码 对 SMTP 命令的响应是多样的,它确定了在邮件传输过程中恳求和处理的同步,也保 证了发送 SMTP 知道接收 SMTP 的状态;每个命令必需有且只有一个响应;SMTP 响应由三位数字组成,其后跟一些文本;数字帮忙打算下一个应当进入的状 态,而文本对人是
11、有意义的;三位的响应已经包括了足够的信息,不用再阅读文本,文本6 / 22 名师归纳总结 - - - - - - -第 6 页,共 22 页精选学习资料 - - - - - - - - - 可以直接抛弃或者传递给用户;特殊的是,文本是与接收和环境相关的,所以每次接收到的文本可能不同;正规的情形下,响应由下面序列构成:三位的数字,一行文本和一个, 或者也可以是一个多行响应;只有 然而,对全部命令,多行响应都是答应的;EXPN 和 HELP ,命令可以导致多行应答,REPLY CODES BY FUNCTION GROUPS 500格式错误,命令不行识别此错误也包括命令行过长)第四章 RFC822
12、 说到发送和接收邮件,就不得不提 RFC822 了; RFC822 的全称是“ARPA 因特网文信件格式的标准”Standard for the Format of ARPA Internet Text Messages );该标准供应了邮件内容的格式和相关语义;4.1 RFC822 简洁介绍RFC822 规定的电子邮件内容全部由 ASCII 字符组成,就是通常所说的文本文件,因而标准将它称为 Internet 文本信件 Internet Text Messages);从直观上看,信件特别简洁,就是一系列由 换形符终止;ASCII 字符组成的文本行,每一行以回车从组织上看,信件内容结构分为两大
13、部分,中间用一个空白行 只有 CRLF 符的行)来 分隔;第一部分称为信件的头部,包括有关发送方、接收方、发送日期等信息;其次部分 称为信件的体部,包括信件内容的正文文体;信头是必需的,信体是可选的,即信体可有 可无;假如不存在信体,用作分隔的空白行也就不需要;在信体中,也可以有用作分隔的 空白行;这样设计的信件便于进行语法分析,提取信件的基本信息;在 RFC822 中规定,信件体就是一系列的向收信人表达信息的文本行,比较简洁,可 以包括任意文本;并没有附加的结构;信件头就具有比较复杂的结构,在下一小节中详 述;4.2 信件的头部 4.2.1 信头一般格式信头的结构比较复杂,信头由如干信头字段
14、header field )组成,这些字段为用户和程序供应了关于信件的信息;要明白信头的结构就要弄清晰各种信头字段;全部的信头字段都具有相同的语法结构,从规律上说,包括四部分,字段名 field name)紧跟冒号“ :”colon ),后跟字段体 field body),最终以回车换形符 CRLF )终止;即信头字段 =字段名:字段体 CRLF 字段名必需由除了冒号和空格以外的可打印USASCII 字符 其值在 33 和 126 之间)组成,大多数字段的字段名称由一系列字母,数字组成,中间常常插入横线符;字段名告 诉电子邮件软件如何翻译该行中剩下的内容;字段体可以包括除了CR 和 LF 之外
15、的任何ASCII 字符;但是其中的格式的空格,加括号的注释,引号和多行都比较复杂,另外,字段体的语法和语义依靠于字段名,每个类型 的字段有特定的格式;4.2.2 结构化字段和非结构化字段 每个字段包含的信息不同,字段大体可以分为结构化字段和非结构化字段;结构化字段有特定的格式,由语法分析程序检测;是信箱,有一个离散的结构;Sender 字段就是一个很好的例子,它的字段内容非结构化的字段含有任意的数据,没有固定格式;例如,Subject 字段可以含有任意的7 / 22 名师归纳总结 - - - - - - -第 7 页,共 22 页精选学习资料 - - - - - - - - - 文字,并且没有
16、固定格式;非结构化的字段数量较少,只有Subject、Comments、扩展字段、非标准字段、INReply 和 References 等;全部其它字段都是结构化的;4.2.3 信头字段的元素尽管 Email 信件的总体结构特别简洁,但一些信头字段的结构是很复杂的;下面介绍一些大多数字段共有的元素;1)空白符像其它文本文件一样,空白符包括空格符ASCII码 32)和制表符TABASCII码19)此外,行末的回车换形符CRLF 也应算是空白符;使用空白符可以对字段进行格式化,增加它的可续性;例如,每个字段间用 CRLF 来分别,在字段内用空格来分隔字段名和字段内容;在 Subject 后面的冒号
17、和内容之间插入空格字符,会使字段结构更加清晰;在 Email 中;空白符的使用并没有固定的规章,但应当正确地使用,仅在需要时才使用空白符,以便接收软件进行语法分析;2)注解注解是由括号括起来的一系列字符,例如,这份礼物);注解一般用在非结构化的信头字段中,没有语法语义,仅为人供应了一些附加的信息;假如在加引号的字符串中 包括在括号中的字符,那是字符串的一部分,不是注解;在说明信件的时候,会将注解 忽视,可以用一个空格字符代替它们,这样就什么也不会破坏;3)字段折叠 每个信头字段从规律上说应当是一个由字段名、冒号、字段体和 CRLF 组成的单一的行,但为了书写与显示的便利,增加可续行,也为了符号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年电子邮件系统的设计方案与实现 2022 电子邮件 系统 设计方案 实现
限制150内