1、ebmailebmail(基于万维网的电子邮件(基于万维网的电子邮件服务)服务)使用邮件客户端收发邮件使用邮件客户端收发邮件电子邮件从电子邮件从A发送到客户服务器是使用发送到客户服务器是使用SMTP协议。B从从服务端邮件服务器获取邮件使用服务端邮件服务器获取邮件使用POP3或或IMAP协议。常见的邮件客户端有常见的邮件客户端有Foxmail,OutlookExpress等等怎么进行传输?怎么进行传输?zfc账户账户foxmail/outlookdataimap服务器服务器pop服务器服务器smtp服务器服务器xkh账户账户datafoxmail/outlooksmtp服务器服务器pop服务器服
2、务器imap服务器服务器为为每每个个用用户户提提供供邮邮箱箱空空间间,每每个个邮邮箱箱存存放放着着该该用用户户的的所所有有邮邮件件SMTPqq邮件服务器邮件服务器163邮件服务器邮件服务器邮件服务器各组件关系图邮件服务器各组件关系图MUA(MailUserAgent):用户代理,提供邮件编辑,查看功能;MTA(MailTransferAgent):邮件传输代理,负责传送和接收邮件;MDA(MailDiliveryAgent):邮件投递代理,负责将邮件投递代理,负责将MTA接收到的接收到的邮件传递到用户邮箱或转递其他邮件传递到用户邮箱或转递其他MTA,兼具有过滤功能。,兼具有过滤功能。SMTP
3、使用客户/服务器方式,负责发送邮件的 SMTP 进程是 SMTP 客户,而负责接收邮件的 SMTP进程是 SMTP 服务器,当两个进程建立了TCP连接后,电子邮件就能通过该标准准确无误地传输;SMTP协议是基于文本的协议,通过SMTP发送的电子邮件都是普通文本格式的,不支持声音、图像等非文本信息,但可以通过MIME标准将此类信息进行编码后再通过SMTP传输;SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始;邮件的传输协议SMTPSMTP简单邮件传输协议简单邮件传输协议SMTPSMTP命令命令命令命令描
4、述描述HELO用于启动邮件传输过程用于启动邮件传输过程MAIL FROM用于用于标识发信人,为收信者回复时可用的电子邮件地址标识发信人,为收信者回复时可用的电子邮件地址RCPT TO用于标识单个接收人,在用于标识单个接收人,在MAIL命令后面可有多个命令后面可有多个RCPT命令命令DATA用于将邮件报文发送给服务器用于将邮件报文发送给服务器QUIT用于终止客户端与服务器之间的连接用于终止客户端与服务器之间的连接RSET用于中止当前的邮件事务并使两端复位用于中止当前的邮件事务并使两端复位VRFYVRFY用于验证指定的用户用于验证指定的用户/邮箱是否存在,即验证接收方地址是否邮箱是否存在,即验证接
5、收方地址是否正确正确NOOP空操作命令空操作命令SMTPSMTP简捷,命令很少,常用的只有以下的简捷,命令很少,常用的只有以下的8 8条命令,这些条命令,这些 命令由客命令由客户端发送请求给服务端户端发送请求给服务端SMTPSMTP应答码应答码代码代码描述描述代码代码描述描述211系统状态或系统帮助响应系统状态或系统帮助响应500命令不可识别或语法错命令不可识别或语法错214帮助信息帮助信息501参数语法错参数语法错220服务准备就绪服务准备就绪502命令不支持命令不支持221关闭连接关闭连接503命令顺序错命令顺序错250请求操作就绪请求操作就绪504命令参数不支持命令参数不支持251非本地
6、用户,转发到非本地用户,转发到550操作未执行:邮箱不可用操作未执行:邮箱不可用354开始邮件输入,以开始邮件输入,以.结束结束551非本地用户,请尝试非本地用户,请尝试421服务不可用服务不可用552操作中止:存储空间不足操作中止:存储空间不足450操作未执行:邮箱忙操作未执行:邮箱忙553操作未执行:邮箱名不正确操作未执行:邮箱名不正确451操作中止:本地错误操作中止:本地错误554传输失败传输失败452操作未执行:存储空间不足操作未执行:存储空间不足每一条每一条SMTP命令都会返回一条命令都会返回一条SMTP响应,由服务端返回给客户端响应,由服务端返回给客户端1.客户端主动连接到服务器的
7、25端口,建立TCP连接。服务器会发送一个应答码为220的问候报文,表示已经准备就绪。2.客户端向服务器发送HELO命令以标识发送方身份,若服务器接受请求,则返回一个代码为250的应答,表示可以开始报文传输。3.客户端发送MAIL命令以标识邮件发送方身份,通过FROM参数指定发送方的邮件地址。若服务器准备接收,则返回250的OK应答。4.客户端发送RCPT命令标识邮件的接收方,通过TO参数指定接收方的电子邮件地址,若有多个接收人,可发送多个RCPT命令。如果服务器能够识别接收人,则会返回代码为250的OK应答,否则返回代码为550的失败应答。SMTPSMTP连接与发送连接与发送SMTP是一种请
8、求响应协议,客户端发送命令,服务器返回响应,是一种请求响应协议,客户端发送命令,服务器返回响应,两者通过这种方式进行交互,以完成邮件传输过程的三个阶段:建两者通过这种方式进行交互,以完成邮件传输过程的三个阶段:建立连接、传输数据和终止连接。立连接、传输数据和终止连接。以下是传输步骤:5.客户端与服务器之间的协商结束,客户端发送DATA命令指示将要发送邮件数据,服务器端返回应答码为354的响应进行确认,表示可以开始邮件输入。6.客户端将邮件内容按行发送,邮件的末尾由客户端指定,是只有一个小数点(邮件数据结束指示器)的一行,服务器检测到邮件数据结束指示器后,返回代码为250的OK应答。7.客户端发
9、送QUIT命令终止连接。注:由于SMTP不需要身份验证,人们连接到邮件服务器就能随便给一个知道的邮箱地址发送邮件,造成垃圾邮件泛滥。后来就有了ESMTP(Extended SMTP)。他和 SMTP 服务的区别仅仅是,使用 ESMTP 发信时,需要经过身份验证才能发送邮件。即在HELO命令后多加一条auth login登陆命令,登陆成功后才能使用后续的发送邮件命令。应用层应用层传输层传输层网络层网络层网络接口层网络接口层应用层应用层传输层传输层网络层网络层网络接口层网络接口层物理网络物理网络SMTP协议协议客户端客户端服务端服务端220 service 220 service readyrea
10、dyHELO HELO RCPT TO RCPT TO 250 250 MAILFROM250 250 DATA250 250 250 250 客户端客户端服务端服务端TCP连接连接25号端口号端口SMTPSMTP传输流程图传输流程图电子邮件的信息格式电子邮件的信息格式每一封电子邮件的结构格式为:-报文头(Header)-分隔邮件头与邮件体的空行-报文体(Body)报文头是一些控制信息,它是由一系列的头字段组成,每个头字段的报文头是一些控制信息,它是由一系列的头字段组成,每个头字段的结构格式是:结构格式是:字段名字段名(field-name):字段体:字段体(field-body)包括收方和发
11、方的地址,发送时间等,常用的头字段有:包括收方和发方的地址,发送时间等,常用的头字段有:-Date域:记录邮件发送日期(本地主机的日期和时间);域:-Subject域:邮件主题;-From域:发信人邮件地址;-To域:收信人邮件地址;报文体是用户邮件内容,由用户自由撰写。但报文体是用户邮件内容,由用户自由撰写。但SMTP只支持传输只支持传输7位位ASCII码的英文字符,有很大局限性,后来邮件系统就扩展了码的英文字符,有很大局限性,后来邮件系统就扩展了MIME。MIMEMIMEMIME扩展了基本的面向文本的扩展了基本的面向文本的Internet邮件系统,在不改动现有邮件邮件系统,在不改动现有邮件
12、协议的情况下,实现了用标准的文本格式邮件传输非文本(二进制)协议的情况下,实现了用标准的文本格式邮件传输非文本(二进制)数据的功能。数据的功能。MIME的原理是将二进制数据转化为文本格式,然后再的原理是将二进制数据转化为文本格式,然后再进行传输。进行传输。7位位ASCII码码用户用户用户用户MIMEMIMESMTPSMTP7位位ASCII码码非非ASCII码码非非ASCII码码7位位ASCII码码MIME扩包括三部分内容:新增了扩包括三部分内容:新增了5个首部字段名,这些字段提供了邮个首部字段名,这些字段提供了邮件的主题信息;新增了许多邮件内容,对多媒体的表示方法进行标准件的主题信息;新增了许
13、多邮件内容,对多媒体的表示方法进行标准化;定义了编码方法,可对任何内容进行准换。化;邮件报文示例邮件报文示例Date:Wed,18Dec201312:32:22+0800Subject:helloMessage-ID:From:To:MIME-Version:1.0Content-Type:text/plain;charset=utf-8Content-Transfer-Encoding:base64CnRoaXMgaXMgYSB0ZXN0IG1haWwuCgoK5Y+R6Ieq5oiR55qE5bCP57Gz5omL用命令发邮件用命令发邮件POP3POP3协议协议POP是一种邮件接收协议,其
14、作用是:当用户计算机与支持是一种邮件接收协议,其作用是:当用户计算机与支持POP协议的电子邮件服务器连接时,把存储在该服务器的电子邮箱中的邮协议的电子邮件服务器连接时,把存储在该服务器的电子邮箱中的邮件准确无误地下载到用户的计算机中。件准确无误地下载到用户的计算机中。POP3属于离线式协议,即不属于离线式协议,即不能对邮件进行在线操作,必须下载到本地才能进行处理。能对邮件进行在线操作,必须下载到本地才能进行处理。POP协议已协议已发展到第三版,称作发展到第三版,称作POP3。POP3与与SMTP一样都是请求响应协议,命令与响应也都是用一样都是请求响应协议,命令与响应也都是用NVTASCII格式的文本表示。格式的文本表示。POP3响应由一个状态码和其后的附加响应由一个状态码和其后的附加信息组成,只有两种状态码:信息组成,只有两种状态码:“+OK”(正确)和(正确)和“-ERR”(失败)。(失败)。用户代理用户代理POP3服务器服务器服务器数据库服务器数据库用户邮箱用户邮箱POP3协议协议110端口端口POP3POP3命令命令命令及格式命令及
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1