基于SMTP协议电子邮件收发系统的设计

合集下载

某企业的邮件服务系统设计与实现

某企业的邮件服务系统设计与实现

某企业的邮件服务系统设计与实现摘要:电子邮件(E-mail)在如今社会有着举足轻重的地位。

随着人们使用次数的增多,通过发送邮件、收集客户资料的移动商务方式受到众多企业的青睐。

本文叙述了电子邮件的定义,分析了Java Mail API和相关协议,开发设计基于Java mail某企业的邮件服务系统。

关键词:SMTP; POP; Javamail; 邮件收发1引言电子信箱、电子邮政,它主要是指个人利用各种电子邮件方式将个人信息通过邮件进行交换的一种通信方式及其手段,在国际互联网中已经得到广泛的普及和应用。

在Internet网络资源中,电子邮箱系统并不是端对端的服务,其核心是存储和发送的服务。

利用收发存储的功能可以实现无连接通信,称作是一种异步通信[1]。

随着技术人员的能力逐渐提高,进一步开发了基于JavaMail邮件系统。

技术人员采用多线程的设计手段,基于JavaMail邮件系统的通信效率得到了提高,大大降低了电子邮件系统使用成本,邮件系统采用新的MVC设计模式的也大大降低了系统的维护难度。

2国内外研究现状从安全的角度考虑:过去传统的邮件系统保护措施不足,到今天为止,仍然有许多网络用户使用安全版本低的邮件系统,缺少安全保护能力。

全球的木马邮件和垃圾邮件问题逐渐恶化,也使得电子邮件系统发展过程中变得举步维艰。

许多用户和企业希望电子邮件系统能进一步加强加密、防木马、杜绝垃圾邮件的措施,解决电子邮件安全性问题。

针对电子邮件存在的漏洞,国内外的技术人员深入分析电子邮件系统,在系统每个层次面上作大量开发研究。

多进程/多线程的技术能大大提高邮件系统处理任务的效率,高速缓存使得电子邮件在服务器中高速数据交换,快速队列机制能够实现用户之间邮件快速收发。

3邮件协议和JavaMail API3.1邮件协议(1)SMTP:全称“Simple Mail Transfer Protocol”顾名思义叫简单邮件传输协协议。

一般人们统称SMTP。

SMTP协议中的邮件发送与接收过程解析

SMTP协议中的邮件发送与接收过程解析

SMTP协议中的邮件发送与接收过程解析在互联网世界中,电子邮件已成为人们生活中不可或缺的一部分。

而SMTP(Simple Mail Transfer Protocol)协议,则是电子邮件发送与接收过程中的核心协议。

本文将对SMTP协议中的邮件发送与接收过程进行解析。

一、SMTP协议简介SMTP是一种用于发送和传输电子邮件的协议,它是基于文本的协议,使用可读的ASCII码。

SMTP服务器端口一般为25端口。

SMTP 协议通过TCP连接进行通信,并在无差错处理和重传机制等方面进行了优化。

二、邮件发送过程解析首先,我们来看一下邮件发送的过程。

1. 发送端建立TCP连接发送方的客户端通过向SMTP服务器的25端口发起TCP连接,以建立与服务器的通信通道。

2. 握手协商发送方客户端通过向服务器发送握手请求,握手过程包括客户端标识、服务扩展、身份验证等步骤。

3. 邮件发送准备发送方客户端准备邮件内容,并将邮件信息发送给SMTP服务器。

4. 发送方身份验证SMTP服务器对发送方进行身份验证,以确定发送方是否有权发送邮件。

5. 邮件传输发送方客户端将邮件信息以规定的格式发送给SMTP服务器。

邮件内容包括邮件头和邮件体,邮件头包含发件人、收件人、主题等信息,而邮件体则是实际的邮件内容。

6. 邮件排队SMTP服务器将收到的邮件排队等待传输。

7. 邮件传输完成SMTP服务器将邮件转发给接收方的SMTP服务器。

三、邮件接收过程解析接下来,我们来看一下邮件接收的过程。

1. 接收端与SMTP服务器建立连接接收方的客户端通过向SMTP服务器的25端口建立TCP连接,以建立与服务器的通信通道。

2. 握手协商接收方客户端通过与服务器进行握手,进行服务扩展和身份验证等步骤,以确保连接的可用性和安全性。

3. 邮件查询接收方客户端向SMTP服务器发出查询命令,请求获取待接收的邮件。

4. 接收邮件SMTP服务器根据查询命令,将待接收的邮件发送给接收方客户端。

电子邮件群发系统的设计与实现

电子邮件群发系统的设计与实现

协议 中的主要角 色是 SMTP 发信机和 SMTP 收 信机,但是 一个 SMTP 服务器可能 兼有两种角 色。SMTP 协议 采用了一 组简 单 的命 令来 建立 连接 并在 主机 之间 传送 命令 和数 据。SMTP 发信 机向 SMTP 收 信机发出 SMTP 命令,如 :“MAIL FROM:< mybox@>”就是 告知 SMTP 收信 机邮件的 来源,待收 到命 令后 SMTP 收信机则 会响应应答 SMTP 命 令,即会返 回一 个应答码,应答码一般为一个 三位的十进制数,而且每一个数 都有 特定含义 的,例如返 回“250”表示 要求的邮件 操作完成。 其他 的 SMTP 命 令和应答码 在 RFC821 中有详 细的描述,此处 不再赘述。 1.2 ESMTP 协 议
Design and implementation of bulk email sending system
FU Zhuo-jun, LUO Yi-rong, DAI Xiao-peng (Computer and Information Engineering College, Hunan Agricultural University, Changsha 410128, China)
2.3 使 用 TIdSMTP 组件 实现群 发方 法一 在 C++Builder6.0 中 新增加了 一套 INDY 组件 ,这是 一套
开放 源代码、功能 强大的 Internet 组件,目前该 套组件的 最新 版本 是 INDY10,虽然在 6.0 以前的 C++ Builder 版本中未 集成 这套 组件,但是 可以到 INDY 的网站 / 上 下 载 源 代 码 进 行 安 装 。INDY 中 的 TIdSMTP 组 件 符 合 RFC821、RFC1869 和 RFC2544 的规 范,利 用 TIdSMTP 组 件能 够轻 松的实现 与 SMTP 服务器 的认证连 接、邮 件的发送 和回 执请 求。表 1 是要 实现邮件群 发将使用到 TIdSMTP 组件 的基 本属性和方法:

电子邮件系统的设计与开发

电子邮件系统的设计与开发

电子邮件系统的设计与开发电子邮件系统的设计与开发现代社会,电子邮件已经成为了人们重要的沟通方式之一,因为电子邮件可以快速、可靠地传递信息。

设计和开发一个高效可靠的电子邮件系统对于我们现代社会来说,是非常必要且具有重要意义的。

本文将从以下几个方面着手,探讨电子邮件系统的设计与开发。

电子邮件系统的架构电子邮件系统的架构是电子邮件系统设计的重要基础。

一般来说,电子邮件系统可以分为两个部分:邮件服务器和邮件客户端。

其中,邮件服务器用于存储和转发邮件,负责维护邮件系统的安全性和稳定性。

而邮件客户端则是用户接收和发送邮件的工具,通过邮件客户端,用户可以查看收到的电子邮件、编写并发送邮件。

电子邮件系统的协议电子邮件系统的协议是邮件系统设计的另一个重要基础。

在现代电子邮件系统中,SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)是两个最重要的协议。

SMTP是邮件发送协议,由发件人的邮件客户端发送邮件到邮件服务器;而POP3是邮件接收协议,由收件人的邮件客户端收取从服务器传来的邮件。

同时,邮件系统还会使用其他协议,如IMAP(Internet Mail Access Protocol)、SMTPS(SMTP with TLS/SSL)等。

电子邮件系统的安全性安全性是现代电子邮件系统设计的重要因素。

为了保证电子邮件的机密性和完整性,我们必须采取以下安全措施:数据加密数据加密是保护电子邮件机密性的一种重要措施。

对于用户的邮件内容,我们可以使用对称加密算法或非对称加密算法进行加密,使其只有发件人和收件人能够解密内容。

电子签名电子签名是确保邮件完整性和身份认证的一种重要技术。

发件人可以通过数字证书验证自己的身份,并在邮件内容中加入数字签名,收件人可以通过验证数字签名来确认邮件的完整性和信任发件人身份。

反垃圾邮件垃圾邮件是电子邮件系统中最大的威胁之一。

邮件收发系统的设计与实现

邮件收发系统的设计与实现

本科毕业设计邮件收发系统的设计与实现摘要随着互联网应用的不断增加,人们通讯的速度和方式不断进步。

电子邮箱就是基于互联网的非即时通讯工具。

利用电子邮箱,人们可以方便地传输文档、视频、照片、音频等信息,现代企业也都将其作为重要的办公工具。

基于Web服务器的网页版邮箱,虽然非常简便,但局限性很大,会出现超时自动退出登录、在线读取缓慢、难以查找、安全性低等不足,传统的电子邮箱客户端仍然是日常生活和办公的首选。

伴随着电子邮箱用户的增加,垃圾邮件和病毒邮件日益盛行,给用户带来了潜在的危险和不便。

作为必备办公工具,电子邮箱的应用也仅局限于交流通讯和文件传输。

员工们必须得借助其他手段来辅助办公。

而且网络上出现的许多电子邮箱客户端软件,都添加了许多纷繁复杂的功能,看似华丽却很不实用。

针对传统邮箱客户端的不足和用户实际使用需求,本系统从邮件的接收与发送、邮件的管理和办公工具三个大方面进行了设计,基本实现了电子邮件的收发、删除、查找、备份以及记事本和通讯录等功能。

通过对企业常用邮件收发系统进行分析,决定采用C/S架构来研究和开发系统,与客户端进行连接的邮箱服务器采用网络上常用的免费邮箱服务器。

操作系统使用微软公司的Windows 7,后台数据库服务用Microsoft公司的SQL Server 2005,前台客户端软件采用当前流行的Microsoft公司的C#语言开发。

本系统的优势在于操作简单、功能合理、扩展能力良好。

实践证明思路是正确的,技术方案是可行的,将给企业员工办公和日常使用带来极大的方便。

关键字:邮件收发系统邮件传输协议邮件服务器SQL ServerThe Design and Implementation of E-mail Send and Receive SystemAbstractWith the continuous development of the Internet applications, the speed and manner of people daily registry is increasing, too. E-mail is the Internet-based instant messaging tools. By E-mail, people can easily transfer documents, video, photos, audio and other information. For the modern company, E-mail is an very important office tools. The web version E-mail based on web server is very simple but very restrictive, there will be automatic time-out exit to landing, and it is slow and difficult to find and read mail on line. So the traditional e-mail client is still the first choice for us. A long with the increase in e-mail users, there is lots of potential danger and useless mail to user. As the essential office tools, e-mail application is limited to exchange communications and file transfers. Employees must make use of other means to assist the office. And many e-mail client software add a complex, seemingly gorgeous which is very practical. This e-mail client achieves function modules such as function of sending and receiving mail management, calendar, notepad, rapid mail query and some other functional modules.I adopt C/S structure to study and develop system. I have used the following techniques: Windows 7, SQL Server 2005, C#.The advantages of this system consist in easy operations, well function, nice extend capabilities. The experiment proved the technical plans. It brings office users with a very easy and well functional e-mail client software.Key Words: E-mail Transfer System; Mail Transfer Protocol; Mail server; SQL Server目录1. 绪论 (1)1.1 课题研究的选题背景 (1)1.2 课题研究的目的和意义 (1)1.3 课题研究的国内外现状 (2)1.4 邮件系统要实现的目标 (3)2. 系统技术背景 (4)2.1 系统体系机构 (4)2.1.1 基于web服务器的网页版邮箱 (4)2.1.2 基于邮箱客户端软件的体系结构 (4)2.2 SMTP协议概述 (6)2.2.1 电子邮件格式 (6)2.2.2 与邮件服务器建立连接 (7)2.2.3 邮件的发送过程 (8)2.3 POP3协议 (9)2.3.1 授权状态 (9)2.3.2 操作状态 (10)2.3.3 更新状态 (11)3. 邮件系统的数据库设计 (12)3.1 数据库逻辑设计 (12)3.2数据库物理设计 (15)4. 系统概要设计 (18)4.1 系统结构设计 (18)4.1.1系统流程图 (18)4.1.2 系统模块划分 (18)4.1.3 各模块功能 (19)5. 系统详细设计 (20)5.1 配置数据库连接 (20)5.2 账号关联 (20)5.3 发送邮件功能 (21)5.4 接收邮件功能 (24)5.4.1 主界面收件箱显示 (24)5.4.2 查询邮件信息 (31)5.5 记事本功能 (32)5.6 通讯录功能 (37)5.6.1 添加联系人信息 (37)5.6.2 查询联系人信息 (38)6. 论文工作总结及展望 (39)6.1 论文工作总结 (39)6.2 展望 (39)参考文献 (40)致谢 (41)1. 绪论随着自动化办公的一步步实现,以电子邮件为载体的信息传输方式越来越被人们认可和应用。

电子邮件的设计与实现

电子邮件的设计与实现
(2)注解
注解是由括号括起来的一系列字符,例如,(这份礼物)。注解一般用在非结构化的信头字段中,没有语法语义,仅为人提供了一些附加的信息。如果在加引号的字符串中有包括在括号中的字符,那是字符串的一部分,不是注解。在解释信件的时候,会将注解忽略,可以用一个空格字符代替它们,这样就什么也不会破坏。
(3)字段折叠
字段体可以包括除了CR和LF之外的任何ASCII字符。但是其中的空格,加括号的注释,引号和多行字段都比较复杂,另外,字段体的语法和语义依赖于字段名,每个类型的字段有特定的格式。
2.2.2结构化字段和非结构化字段
每个字段所包含的信息不同,字段大体可以分为结构化字段和非结构化字段。
结构化字段有特定的格式,由语法分析程序检测。Sender字段就是一个很好的例子,它的字段内容是信箱,有一个离散的结构。
Key Words:Mall、automation、Purchase-sell-stock、management、Background、management
第1章引言
1.1电子邮件介绍
电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。
1.3.2运行环境
Intel® Pentium® 2及以上处理器32M以上内存,4G以上硬盘
Microsoft® Windows™ 9X/NT操作系统

基于SMTP、POP3协议的电子邮件自动收发系统的开发

基于SMTP、POP3协议的电子邮件自动收发系统的开发
S MTP协 议 。 MTP协 议 是 建 立 在 TC /P基 础 上 比T P I S PI C /P
更 高 层 的 协 议 , 规 定 每 一 台 计 算 机 在 发 送 ( 中 转 ) 件 时 经 或 信 怎 样 找 到 下 一 个 目 的地 , 信 件 在 两 台计 算 机 之 间 的 传 送 仍 而
送 给 多 个 收 件 人 。现在 很 多公 司 都 可 惟 利 用 这 种 工 具 进 行 联
机查询 、 网上 调 查 等 等 。 电子 邮 件 是 现在 应 用 最 广 泛 的 系 统 , 文 基 于 S 本 MTP和 P 3 议 开 发 了一 个 实用 的 邮件 收 发 系 统 。 OP 协
2 电子 邮件 工作原 理 及协 议
2 1 电子 邮件 的传 输 .
一ห้องสมุดไป่ตู้
计算 机上有信 箱帐号的用户都被分配一定 的存储 空间作为其 “ 信箱”存 储空间包含和所收信件 、 , 编辑信件 以及信件存档 三
部 分 空 间 , 位 用 户 都 有 属 于 自己 的 一 个 确 定 用 户 名 和 用 户 每 可 以 自己修 改 口令 的信 箱 , 户 使 用 口令 开 发 自 己 的信 箱 , 用 并 进 行 发 信 、 信 、 辑 、 发 、 档 等 各 种 操 作 。 电子 邮件 的传 读 编 转 存 输 则 是 通 过 电子 邮件 简 单 传 输 协 议 S MTP来 实 现 的 。
pooo) _ 电子 邮件 服 务 中分 别 负 责 收信 和 发信 的 两 种 协 议 。 本 文 介 绍 了 电子 邮 件 系统 的 工 作 原 理 及 相 关 协 议 , 基 于 这 些 r tc 1 ̄ 在 并
协 议 设 计 和 开发 了一 个 实 用 的 邮 件 系统 。 关 键 词 : 子 邮 件 ; MT 电 S P协 议 ; OP 3协 议 ; 件 收 发 P 邮

基于STMP与POP3协议的邮件发送与接收

基于STMP与POP3协议的邮件发送与接收

网络编程实训报告题目:基于STMP与POP3协议的邮件发送与接收姓名:学院:专业:班级:学号:指导教师:完成日期:年月日原创性声明本人郑重声明:上交的设计报告,是本人在导师的指导下,独立进行研究工作所取得的成果。

除文中已经注明引用的内容外,本文不包含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律结果由本人承担。

作者签名:日期:年月日前言电子邮件指用电子手段传送信件、单据、资料等信息的通信方法。

电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样快,又能象信件一样使收信者在接收端收到文字记录。

电子邮件系统又称基于计算机的邮件报文系统。

它承担从邮件进入系统到邮件到达目的地为止的全部处理过程。

电子邮件不仅可利用电话网络,而且可利用任何通信网传送。

在利用电话网络时,还可利用其非高峰期间传送信息,这对于商业邮件具有特殊价值。

由中央计算机和小型计算机控制的面向有限用户的电子系统可以看作是一种计算机会议系统。

SMTP 是一种提供可靠且有效电子邮件传输的协议。

SMTP 是建模在FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。

POP 协议允许工作站动态访问服务器上的邮件,目前已发展到第三版,称为POP3。

POP3 允许工作站检索邮件服务器上的邮件。

POP3 传输的是数据消息,这些消息可以是指令,也可以是应答。

本实践是在SMTP和POP协议下设计的一个电子邮箱,能够实现发送,接收邮件等功能。

第一章需求分析1.1 发送邮件发送端使用SMTP 发送邮件到邮件服务器发送邮件过程:输入发件人邮箱、用户名、密码,当与邮件服务器建立连接后,编写邮件主题和内容,若需要附件的话,就点击添加附件按钮进行添加附件。

最后点击发送按钮发送邮件1.2 接收邮件接收端使用POP3从邮件服务器上下载邮件,并在接收端上阅读。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1 引言 (1)1.1 电子邮件介绍 (1)1.2 开发背景 (2)1.3 开发环境及运行环境 (2)2 软件架构及系统用例图 (3)2.1 系统架构 (3)2.2 系统总体用例 (3)2.4 发送邮件类 (4)2.5 附加小功能类 (4)3 SMTP协议的研究 (4)3.1 SMTP协议简介及工作原理 (5)3.2 SMTP协议的命令和应答 (6)3.2.1 SMTP协议的命令 (6)4 RFC822 (14)4.1 RFC822简单介绍 (14)4.2 信件的头部 (14)5 命名控件MailSend (20)5.1 发送邮件类SmtpMail (20)5.2 AddExtra类 (27)5.2.1 调用Windows API 所需的命名空间 (28)5.2.3 在程序中具体的使用 (28)6 软件运行时的界面 (29)6.1 新建邮件帐号 (29)7 系统测试 (32)7.1 同一SMTP服务器发送邮件的测试 (32)7.2 利用不同的SMTP服务器发送邮件的测试 (32)8 结论 (34)第I 页共II 页参考文献 (35)第II 页共II 页1 引言1.1 电子邮件介绍电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。

它是全球多种网络上使用最普遍的一项服务。

这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。

通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。

到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。

电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。

这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。

即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。

接收者可在他认为方便的时候读取信件,不受时空限制。

在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的—个实体。

因为电子邮件是通过邮件服务器(mai1 server)来传递档的。

通常mail server是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向mail server管理人员申请—个信箱账号,就可使用这项快速的邮件服务。

电子邮件的工作原理:1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。

电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。

2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。

系统的硬件是一个高性能、大容量的计算机。

硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。

并确定—个用户名和用户可以自己随意修改的口令。

存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。

系统功能主要由软件实现。

3) 电子邮件的通信是在信箱之间进行的。

用户首先开启自己的信箱,然后通过键第 1 页共36 页入命令的方式将需要发送的邮件发到对方的信箱中。

邮件在信箱之间进行传递和交换,也可以与另—个邮件系统进行传递和交换。

收方在取信时,使用特定账号从信箱提取。

1.2 开发背景当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。

有鉴于此,在了解RFC底层协议的基础上,我们开发了这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能。

1.3 开发环境及运行环境1.3.1 开发环境AMD Athlon(TM),512M内存,80G硬盘Microsoft® Windows™ XP ProfessionalMicrosoft® Visual Studio 2003(C Sharp)Microsoft® Developer Network for Visual 20031.3.2 运行环境Intel® Pentium® 2及以上处理器,32M以上内存,4G以上硬盘Microsoft® Windows™ 9X/NT操作系统800*600或以上的屏幕分辨率确保机器上安装有.Net FrameWork 1.0或者以上版本第 2 页共36 页第 3 页 共 36 页2 软件架构及系统用例图2.1 系统架构软件的总体架构如图2.1:图2.1 软件架构图2.2 系统总体用例图2.2 系统总体用例图2. 3程序功能框图第 4 页 共 36 页图2.3 程序功能图2.4 发送邮件类是发送邮件的核心,类名为SmtpMail ,隶属于命名空间MailSend 。

封装了发送邮件的具体实现方法,也是具体的RFC 用代码实现的过程。

而用户通过具体的操作接口,接口与SmtpMail 类通过交互操作来实现用户发送信件的操作。

2.5 附加小功能类是获取一些诸如系统时间,当前用户名,以及本机IP 之类的类,类名为AddExtra ,隶属于命名空间MailSend 。

3 SMTP 协议的研究由于要开发的是邮件客户端程序,就不得不用到SMTP 协议和POP 协议。

而我个人负责的是邮件发送功能的实现,因此就必然会涉及到SMTP (Simple Mail Transfer Protocol )协议。

SMTP 被用来在因特网上发送邮件,该协议规定了一些基本的命令和方客户端软件电子邮件接收系统电子邮件接收系统附加功能各种错误的提示简单邮件接收带有附件的邮件接收简单邮件发送带有附件的邮件发送电子邮件编写电子邮件的分类管理通讯簿管理法使客户端与服务器进行交互,以达到发送邮件的目的。

3.1 SMTP协议简介及工作原理3.1.1 介绍简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。

SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。

理解到传送系统(或IPCE)不是一对一的是很重要的。

进程可能直接和其它进程通过已知的IPCE 通信。

邮件是一个应用程序或进程间通信。

邮件可以通过连接在不同IPCE上的进程跨网络进行邮件传送。

更特别的是,邮件可以通过不同网络上的主机接力式传送。

3.1.2 SMTP模型SMTP设计基于以下通信模型:针对用户的邮件请求,发送SMTP建立与接收SMTP 之间建立一个双向传送通道。

接收SMTP可以是最终接收者也可以是中间传送者。

SMTP 命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。

一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。

如果SMTP接收者可以接收邮件则返回OK应答。

SMTP发送者再发出RCPT命令确认邮件是否接收到。

如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。

当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。

SMTP提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;或者,当两者不在同一个传送服务下时,通过中继SMTP服务器传送。

为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。

MAIL命令参数是回复路径,它指定邮件从何处来;而RCPT命令的参数是转发路径的,它指定邮件向何处去。

向前路径是源路径,而回复路径是返回路径(它用于发生错误时返回邮件)。

当同一个消息要发往不同的接收者时,SMTP遇到了向不同接收者发送同一份数据的复制品的问题,邮件命令和应答有一个比较奇怪的语法,应答也有一个数字代码。

在下面,例子中可以看到哪些使用实际的命令和应答。

完整的命令和应答在第四节。

第 5 页共36 页命令与应答对大小写不敏感,也就是说,命令和应答可以是大写,小写或两者的混合,但这一点对用户邮件名称却不一定是对的,因为有的主机对用户名大小写是敏感的。

这样SMTP实现中就将用户邮箱名称保留成初始时的样子,主机名称对大小写不敏感。

命令与应答由ASCII字母表组成,当传送服务提供8位字节传送通道,每7位字符正确传送,而最高位被填充为0。

当指定一般的命令或应答格式后,参数会由一些类似于语言的字符串表示出来,如"<string>"或"<reverse-path>",这里尖括号表示这是一种类似于语言的变量。

3.2 SMTP协议的命令和应答3.2.1 SMTP协议的命令SMTP命令定义了邮件传输或由用户定义的系统功能。

它的命令是由<CRLF>结束的字符串。

而在带有参数的情况下,命令本身由<SP>和参数分开,如果未带参数可以直接和<CRLF>连接。

邮箱的语法格式必须和接收站点的格式一致。

下面讨论SMTP命令和应答。

发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。

回复路径就是MAIL命令的参数,而转发路径则是RCPT命令的参数,邮件日期是DATA命令的参数。

这些参数或者数据对象必须跟在命令后。

这种模式也就要求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一个转发路径缓冲区,一个邮件内容缓冲区。

特定的命令产生自己的缓冲区,或使一个或多个缓冲的内容被清除。

HELLO (HELO)此命令用于向接收SMTP确认发送SMTP。

参数域包括发送SMTP的主机名。

接收SMTP通过连接确认命令来向发送SMTP确认接收SMTP。

引命令和OK响应确认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态表和缓冲区已经被子清除。

MAIL (MAIL)此命令用于开始将邮件发送到一个多个邮箱中。

参数域包括回复路径。

返回路径中包括了可选的主机和发送者邮箱列表。

当有主机列表时,它是一个回复路径源,它说明此邮箱是由在表中的主机一一传递发送(第一个主机是最后一个接收到此邮件的主机)过来的。

相关文档
最新文档