欢迎来到天天文库
浏览记录
ID:36711570
大小:331.00 KB
页数:37页
时间:2019-05-10
《SMTP与POP3应用编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章SMTP与POP3应用编程9.1SMTP简介9.2POP3简介9.3邮件收发相关类9.4邮件收发举例本章重点本章教学目的通过实例熟悉异步开发邮件接收及发送程序的核心流程。本章教学要求(1)熟悉SMTP和POP3编程的流程。(2)掌握如何发送和接收邮件。9.1SMTP简介9.1.1SMTP和ESMTP9.1.2与邮件服务器连接9.1.3邮件的发送过程9.1.1SMTP和ESMTP1.SMTP和ESMTP简介SMTP是SimpleMailTransferProtocol的简称,即简单邮件传输协议,命令和响应都是基于ASCII文本,命令和响应并均以回车(CR)和换行(LF)符结束。SMTP
2、服务器(1)SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转电子邮件。(2)SMTP服务器在TCP的25端口监听连接请求。客户端发送电子邮件过程是:先通过客户端软件将邮件发送到SMTP邮件服务器,然后再由SMTP邮件服务器发送到目标SMTP邮件服务器。9.1.1SMTP和ESMTP(续)ESMTP指ExtendedSMTP(扩展SMTP),ESMTP与SMTP的区别是:SMTP发信不需要验证用户帐户,而ESMTP发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与SMTP方式完全相同。提供服务器端软件的方式(1)随操作系统一起提供的服务,如IIS
3、中的SMTP服务。(2)软件公司提供的SMTP服务器软件。9.1.1SMTP和ESMTP(续)提供客户端软件的方式(1)Windows应用程序客户端软件,比如OutLook、Foxmail等(2)提供SMTP服务的公司提供的Web应用程序,比如www.126.com提供的邮件服务。客户端发送电子邮件过程首先通过25端口与SMTP邮件服务器建立连接,然后向服务器发送命令,将邮件发送到SMTP邮件服务器,然后再由SMTP邮件服务器发送到目标SMTP邮件服务器。9.1.1SMTP和ESMTP(续)2.SMTP的基本命令表9-1中列出了常用的SMTP的基本命令SMTP命令总共定义了14个命令,命
4、令由命令码和其后的参数域组成。命令码不区分大小写。9.1.1SMTP和ESMTP(续)在SMTP协议中,电子邮件由三部分组成,信封、首部和正文。1)信封信封包括发信人的邮件地址和接收人的邮件地址,包括两条SMTP命令。①MAILFROM:<发信人的地址>,告诉SMTP服务器发信人的地址。②RCPTTO:<收信人的地址>,告诉SMTP服务器收信人的地址。9.1.1SMTP和ESMTP(续)2)首部。首部常用命令:①FROM:<姓名><邮件地址>,表明邮件发送者是谁。②TO:<姓名><邮件地址>,表明邮件接收者是谁。③SUBJECT:<邮件标题>,表明邮件的主题。④DATE:<时间>,表明发邮
5、件的时间。⑤REPLY-TO:<邮件地址>,表明邮件的回复地址。⑥Content-Type:<邮件类型>,表明邮件包含文本、HTML超文本和附件类型。⑦X-Priority:<邮件优先级>,表明邮件的发送优先级。⑧MIME-Version:<版本>,指定传输内容的消息、附件及其内容格式。9.1.1SMTP和ESMTP(续)3)正文正文是邮件的内容。首部以一个空行结束,再下面就是正文部分。4)结束符号符合协议的邮件均以“.”结束。客户端软件接收到邮件后,再将其转换为某种形式展现给用户。9.1.1SMTP和ESMTP(续)3.响应信息接收方收到SMTP命令之后,会给出一个响应码。发送者在发送下
6、一条命令前必须等待应答,成功应答才能继续向下执行。每个命令必须有且只有一个响应码。SMTP响应码由3位数字组成,其后跟一些文本信息。格式:3位数字的响应码文本其中,SP表示空格,CRLF表示回车换行。表9-29.1.2与邮件服务器连接1.与SMTP服务器的连接命令格式:HELO<信息发送端的名称>格式举例:HELOLocal2.与ESMTP服务器建立连接(1)命令格式:EHLO<信息发送端的名称>格式举例:EHLOLocal(2)启动服务器认证命令格式:AUTHLOGIN3.断开与服务器的连接命令格式:QUIT客户端发送QUIT命令,退出系统,断开与服务器的连接9.1.
7、3邮件的发送过程第1步:客户端先与服务器建立连接。客户端发送“EHLOLocal”命令,服务器收到后返回“220”响应码,表示服务器准备就绪。客户端发送“AUTHLOGIN”命令,服务器收到后返回“334”响应码,表示要求用户输入用户名。客户端发送经过Base64编码处理的用户名,服务器收到并经认证成功后返回“334”响应码,表示要求用户输入密码。客户端发送经过Base64编码处理的密码,服务器收到并经认证成功后返回“2
此文档下载收益归作者所有