文档介绍:第10章电子邮件协议与编程
本章首先介绍电子邮件系统的构成和工作原理,然后分析简单邮件传送协议SMTP,接着叙述RFC822规定的纯文本电子邮件信件的格式,详细说明了MIME多媒体邮件格式扩展,分析了接收电子邮件的POP3邮局协议,最后给出了两个编程实例。通过本章的学习,应当充分认识应用层协议在网络编程中的重要性,可以说,网络编程就是应用层协议的实现。
电子邮件系统的工作原理
电子邮件的特点
电子邮件(electronic mail,简称e-mail)是因特网上使用最多的一种应用,它为用户在因特网上设立了存放邮件的电子邮箱,发信人可以随时将电子邮件发送到收信人的电子邮箱,收信人也可以随时上网读取,发信人与收信人以异步的方式通信。
电子邮件系统的构成
一个电子邮件系统包括三个主要的构件,即用户代理,邮件消息传输代理,和电子邮件使用的协议。:
电子邮件系统的构成
电子邮件系统的实现
电子邮件的发送与接收过程
从以上的分析可以了解电子邮件系统的特点:
①是一种异步的通信系统,不像电话,通话的双方都必须在场。
②使用方便,传输迅速,费用低廉,不仅能传输文字信息,还能附上声音和图像。
③在电子邮件系统的实现中,ISP的服务器必须7X24小时地不间断地运行,这样才能保证用户可以随时发送和接收信件,而发送或接收电子邮件的用户则随意。
简单邮件传送协议SMTP
概述
简单邮件传送协议SMTP(Simple Mail Transfer Protocol)是因特网的正式标准,最初在1982年由RFC821规定,目前它的最高版本是RFC2821。
SMTP协议采用C/S模式,专用于电子邮件的发送,规定了发信人把邮件发送到收信人的电子邮箱的全过程中,SMTP客户与SMTP服务器这两个相互通信的进程之间应如何交换信息。即规定了SMTP的会话过程。用户直接使用的是用于编写和发送的客户端软件,而通常的SMTP服务器运行在远程站点上。客户/服务器之间的通信是通过TCP/IP协议进行的。
SMTP客户与SMTP服务器之间的会话
,说明了SMTP客户与SMTP服务器之间的会话
SMTP客户与SMTP服务器之间的会话
一般是客户主动,首先发送。SMTP客户发往SMTP服务器的信息称为SMTP命令。在RFC821中,SMTP协议规定了14种命令。
SMTP命令的一般的格式是:
命令关键字参数<CRLF>
其中,命令关键字一般是四个字母,是一个英文动词的缩写。参数随命令而异,命令应当以回车换行符结束。
比如 HELO WANG <CRLF>
SMTP服务器收到命令后,返回给SMTP客户的信息,称为SMTP应答。客户每次发送一条SMTP命令后,服务器给客户返回一条响应。SMTP规定了23种响应码。
SMTP应答都是以一个响应码开头,后面接着响应的描述信息,如果SMTP服务器不一样,响应的描述信息可能不一样,SMTP应答的一般格式是:
响应码响应的文本描述信息
其中,响应码为3位数字,与描述信息文本之间有一个空格,
常用的SMTP命令
命令格式:HELO 发送方的主机名<CRLF>
,说明发信人的电子邮件地址
命令格式:MAIL FROM:发信人的电子邮件地址<CRLF>
命令格式:RCPT TO:收信人的电子邮箱地址<CRLF>
命令格式:DATA <CRLF>