《简化smtp服务器的编写与其通信过程观察》由会员分享,可在线阅读,更多相关《简化smtp服务器的编写与其通信过程观察(39页珍藏版)》请在金锄头文库上搜索。
1、Section5:简化SMTP邮件服务器的编写与其通信过程观察,张建忠 徐敬东 南开大学计算机系 ,电子邮件系统,电子邮件系统采用客户-服务器工作模式 邮件服务器:邮件服务系统的核心 接收用户送来的邮件,并将其传送到对方的邮件服务器中 接收从其他邮件服务器发来的邮件,并将其分发到用户邮箱 邮箱:邮件服务器为合法用户开辟的存储邮件的空间 邮箱是私人的,拥有账号和密码属性 电子邮件应用程序:邮件系统的客户端程序 负责发送和接收用户邮件 提供邮件的管理功能,电子邮件系统中的传输协议,TCP/IP互联网上电子邮件的传输过程,简单邮件传输协议SMTP,功能:将邮件从一个“邮局”传送给另一个“邮局” 特点
2、:简单、直观 仅仅规定发送程序和接收程序之间的命令和应答 SMTP邮件传输采用客户-服务器模式 SMTP服务器使用的默认端口:TCP的25端口,常用的SMTP命令,常用的SMTP响应,SMTP邮件传递过程,连接建立阶段 邮件传递阶段 连接关闭阶段,SMTP通信过程实例,第3代邮局协议POP3,功能:将邮件从邮件服务器的用户邮箱下载到本地主机 POP3采用客户-服务器模式 POP3服务器使用的默认端口:TCP的110端口,常用的POP3命令,POP3的响应,以“+OK”开始的响应:命令已成功执行或服务器准备就绪 以“-ERR”开始的响应:错误或不可执行的命令 “+OK”和“-ERR”之后通常都跟
3、有附加信息对响应进行具体描述 多行响应中,只包含“.”的行表示响应结束,用户检索POP3邮件服务器的过程,认证阶段 事务处理阶段 更新阶段,POP3通信过程实例,电子邮件的报文格式,RFC822 多用途因特网邮件扩展协议(MIME,Multipurpose Internet Mail Extensions),RFC822,邮件头(Mail Header):邮件转发中所需的控制信息 邮件头由多行组成 每行由特定的字符串开始,后面跟有对该字符串的说明,中间用“:”隔开(如:From:) 有些邮件头需由发信人在撰写电子邮件过程中加入,有些则是在邮件转发过程中机器自动加入的 邮件体(Mail Body
4、):邮件的具体内容 邮件头和邮件体之间使用空行分隔,收件人收到的邮件事例,多用途因特网邮件扩展协议MIME,RFC822:限制邮件使用7位ASCII文本 MIME - 对RFC822进行了扩充 继承了RFC822的邮件头和邮件体模式 增加了一些邮件头字段 要求对邮件体进行编码,将8位的二进制信息变换成7位的ASCII文本,MIME主要增加的邮件头字段,MIME-Version:该邮件遵循MIME标准的版本号(目前的主要标准为1.0) Content-Type:邮件体包含的数据类型(包括七种邮件体类型和一系列的子类型) text(文本)、message(报文)、image(图像)、audio(音
5、频)、video(视频)、application(应用)、multipart(多部分) Content-Transfer-Encoding:邮件体的数据编码类型 带引见符的可打印编码(quoted-printable)、基数64编码(base64),使用MIME格式的电子邮件,编写简化的SMTP服务器实验,目的:观察电子邮件应用程序与SMTP邮件服务器的命令交互过程 简化的SMTP服务器:响应电子邮件应用程序发出的SMTP命令,并将命令的交互过程和收到的电子邮件显示到屏幕上 支持单用户 不保存和转发收到的邮件 不作错误处理,简化SMTP服务器运行界面,发送给简化SMTP服务器的邮件,SMTP服
6、务器接收到邮件后的界面,练习和思考,查找和参阅与MIME和base64编码相关的资料,对编写的简化SMTP邮件服务器进行改造,使其能够显示用户按照base64编码发送的bmp图片 参照简化的SMTP服务器程序,编写一个简化的POP3服务器程序。利用它和电子邮件应用程序,观察POP3客户与服务器的命令交互过程,使用VB编写简化的SMTP服务器,支持单用户 不保存和转发收到的邮件,不作错误处理 响应SMTP客户端命令,并显示命令的交互过程和收到的电子邮件,简化SMTP服务器地实现过程(1),简化SMTP服务器地实现过程(2),简化SMTP服务器地实现过程(3),简化SMTP服务器地实现过程(4),简化SMTP服务器地实现过程(5),简化SMTP服务器地实现过程(6),简化SMTP服务器地实现过程(7),简化SMTP服务器地实现过程(8),简化SMTP服务器地实现过程(9),简化SMTP服务器地实现过程(10),简化SMTP服务器地实现过程(11),观察SMTP客户与服务器的交互过程(1),观察SMTP客户与服务器的交互过程(2),