文档详情

第09章SMTP与POP3应用编程详解.ppt

发布:2017-04-02约6.92千字共37页下载文档
文本预览下载声明
9.4 邮件收发举例 9.4.1 同步方式收发邮件举例 9.4.2 异步方式收发邮件举例 9.4.1 同步方式收发邮件举例 例9-1:同步发送。运行效果 9.4.1 同步方式收发邮件举例(续) 例9-2:同步接收。运行效果 9.4.2 异步方式收发邮件 异步发送邮件的代码和同步发送的代码不同的地方在于 发送电子邮件时使用的是SmtpClient类提供的异步发送方法SendAsync 若要取消异步发送电子邮件则调用SmtpClient类的SendAsyncCancel方法 当异步发送邮件操作完成时触发SendCompleted事件,可以在该事件中判断邮件是否发送成功。 具体程序见源码 9.4.2 异步方式收发邮件 异步接收邮件通过TCP的异步编程实现。异步接收邮件与同步接收邮件不同的地方在于客户端的异步连接、异步发送数据和异步接收数据。 异步连接 异步建立连接通过使用TcpClient类的BeginConnect方法和EndConnect方法来实现。 异步发送数据 使用NetWorkStream类中的BeginWrite方法和EndWrite方法可以实现异步发送数据。 异步接收数据 使用NetWorkStream类中的BeginRead方法和EndRead方法可以实现异步发送数据。 9.4.2 异步方式收发邮件举例(续) 异步接收。运行效果: * 第9章 SMTP与POP3应用编程 9.1 SMTP简介 9.2 POP3简介 9.3 邮件收发相关类 9.4 邮件收发举例 本章重点 本章教学目的 通过实例熟悉异步开发邮件接收及发送程序的核心流程。 本章教学要求 (1)熟悉SMTP和POP3编程的流程。 (2)掌握如何发送和接收邮件。 9.1 SMTP简介 9.1.1 SMTP和ESMTP 9.1.2 与邮件服务器连接 9.1.3 邮件的发送过程 9.1.1 SMTP和ESMTP 1. SMTP和ESMTP简介 SMTP 是Simple Mail Transfer Protocol的简称,即简单邮件传输协议, 命令和响应都是基于 ASCII 文本,命令和响应并均以回车(CR)和换行(LF)符结束。 SMTP服务器 (1)SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或中转电子邮件。 (2)SMTP服务器在TCP的25端口监听连接请求。 客户端发送电子邮件过程是:先通过客户端软件将邮件发送到SMTP邮件服务器,然后再由SMTP邮件服务器发送到目标SMTP邮件服务器。 9.1.1 SMTP和ESMTP(续) ESMTP 指Extended SMTP(扩展 SMTP), ESMTP与 SMTP的区别是: SMTP发信不需要验证用户帐户,而ESMTP发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与SMTP方式完全相同。 提供服务器端软件的方式 (1)随操作系统一起提供的服务,如IIS中的SMTP服务。 (2)软件公司提供的SMTP服务器软件。 9.1.1 SMTP和ESMTP (续) 提供客户端软件的方式 (1)Windows应用程序客户端软件,比如OutLook、Foxmail等 (2)提供SMTP服务的公司提供的Web应用程序,比如提供的邮件服务。 客户端发送电子邮件过程 首先通过25端口与SMTP邮件服务器建立连接,然后向服务器发送命令,将邮件发送到SMTP邮件服务器,然后再由SMTP邮件服务器发送到目标SMTP邮件服务器。 9.1.1 SMTP和ESMTP (续) 2. SMTP的基本命令 表9-1中列出了常用的SMTP的基本命令 SMTP命令总共定义了14个命令,命令由命令码和其后的参数域组成。命令码不区分大小写。 9.1.1 SMTP和ESMTP (续) 在SMTP协议中,电子邮件由三部分组成,信封、首部和正文。 1) 信封 信封包括发信人的邮件地址和接收人的邮件地址,包括两条SMTP命令。 ① MAIL FROM:发信人的地址,告诉SMTP服务器发信人的地址。 ② RCPT TO:收信人的地址,告诉SMTP服务器收信人的地址。 9.1.1 SMTP和ESMTP (续) 2) 首部 。首部常用命令: ① FROM:姓名邮件地址,表明邮件发送者是谁。 ② TO:姓名邮件地址,表明邮件接收者是谁。 ③ SUBJECT:邮件标题,表明邮件的主题。 ④ DATE:时间,表明发邮件的时间。 ⑤ REPLY-TO:邮件地址,表明邮件的回复地址。 ⑥ Content-Type:邮件类型,表明邮件包含文本、HTML超文本和附件类型。 ⑦ X-Priority:邮件优先级,表明邮件的发送优先级。
显示全部
相似文档