欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    SMTP与POP3应用编程.ppt

    • 资源ID:6519579       资源大小:342.99KB        全文页数:37页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SMTP与POP3应用编程.ppt

    第9章SMTP与POP3应用编程,9.1 SMTP简介9.2 POP3简介9.3 邮件收发相关类9.4 邮件收发举例,本章重点,本章教学目的 通过实例熟悉异步开发邮件接收及发送程序的核心流程。本章教学要求(1)熟悉SMTP和POP3编程的流程。(2)掌握如何发送和接收邮件。,9.1 SMTP简介,9.1.1 SMTP和ESMTP9.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:,表明邮件的发送优先级。MIME-Version:,指定传输内容的消息、附件及其内容格式。,9.1.1 SMTP和ESMTP(续),3)正文 正文是邮件的内容。首部以一个空行结束,再下面就是正文部分。4)结束符号 符合协议的邮件均以“.”结束。客户端软件接收到邮件后,再将其转换为某种形式展现给用户。,9.1.1 SMTP和ESMTP(续),3.响应信息接收方收到SMTP命令之后,会给出一个响应码。发送者在发送下一条命令前必须等待应答,成功应答才能继续向下执行。每个命令必须有且只有一个响应码。SMTP响应码由3位数字组成,其后跟一些文本信息。格式:3位数字的响应码文本其中,SP表示空格,CRLF表示回车换行。表9-2,9.1.2 与邮件服务器连接,1与SMTP服务器的连接命令格式:HELO 格式举例:HELO Local2与ESMTP服务器建立连接(1)命令格式:EHLO 格式举例:EHLO Local(2)启动服务器认证命令格式:AUTH LOGIN3断开与服务器的连接命令格式:QUIT客户端发送QUIT命令,退出系统,断开与服务器的连接,9.1.3 邮件的发送过程,第1步:客户端先与服务器建立连接。客户端发送“EHLO Local”命令,服务器收到后返回“220”响应码,表示服务器准备就绪。客户端发送“AUTH LOGIN”命令,服务器收到后返回“334”响应码,表示要求用户输入用户名。客户端发送经过Base64编码处理的用户名,服务器收到并经认证成功后返回“334”响应码,表示要求用户输入密码。客户端发送经过Base64编码处理的密码,服务器收到并经认证成功后返回“235”响应码,表示认证成功,用户可以发送邮件。,10.1.3 邮件的发送过程,第2步:客户端开始发送邮件的信封。客户端发送“MAIL FROM:”命令,服务器收到后返回“250”响应码,表示请求操作就绪。客户端发送“RCPT TO:”命令,服务器收到后返回“250”响应码,表示请求操作就绪。第3步:客户端开始发送邮件数据。客户端发送“DATA”命令,表示开始向服务器发送邮件数据,包括邮件的首部和正文。客户端发送邮件首部(可选)。客户端发送正文。客户端发送“QUIT”命令,表示断开连接。,9.2 POP3简介,客户端接收邮件时,可以通过两种方式来读取和保存接收到的邮件。使用POP(Post Office Protocol,即邮局协议)用于电子邮件的接收。常用的是第三版,简称POP3。POP允许客户端连接到服务器并且下载所有的邮件到客户机上的邮箱。使用IMAP(Internet Message Access Protocol,Internet邮件访问协议)。IMAP使用的端口是143,目前常用版本是IMAP4。IMAP允许客户端在邮件服务器上建立文件夹保存邮件而不用下载邮件到客户机上。,9.2 POP3简介,POP3规定每条命令均由命令和参数两部分组成,每条命令都以回车(CR)换行(LF)结束。命令和参数之间由空格间隔。POP3服务器回送的响应信息由状态码和附加信息(可选)组成。所有响应也以回车(CR)换行(LF)结束。状态码有两种:+OK 表示正确执行了客户端发送的命令-ERR 表示服务器执行命令失败,9.2 POP3简介(续),POP3命令及执行过程 假设用C表示客户端(Client),S表示服务器端(Server)。客户端首先使用TCP与POP3服务器建立连接,连接成功后,服务器发送一个单行的确认信息,然后要求客户端发送用户名和密码进行确认,下面是客户端发送的命令:发送用户名。格式:USER 服务器返回:+OK用户名正确;-ERR用户名错误。示例:C:S:+OK welcome on this server.,9.2 POP3简介(续),发送密码用户名确认成功后,客户端再发送密码。语法形式:PASS 功能:将客户的密码发送给服务器。服务器返回:+OK 表示密码正确;-ERR 表示密码错误。示例:C:PASS*S:+OK myname logged in at 19:04,9.2 POP3简介(续),服务器对用户名和密码验证成功后,客户端就可以发送POP3命令要求服务器执行相应的操作。对于每个命令,服务器都会返回应答信息。常用命令有:STAT命令 格式:STAT 功能:从服务器中获邮件总数和总字节数。服务器返回:邮件总数和总字节数。示例:C:STAT S:+OK 2 320,9.2 POP3简介(续),LIST命令 格式:LIST 功能:从服务中获得邮件列表和大小。服务器返回:列出邮件列表和大小。示例:C:LIST S:+OK 2 messages(320 octets)S:1 120 S:2 200 S:.注意,“.”单独占一行。,9.2 POP3简介(续),RETR命令 格式:RETR 功能:从服务器中获得一个邮件。服务器返回:+OK成功;-ERR错误。示例:C:RETR 1 S:+OK 120 octets S:S:.注意,“.”单独占一行。,9.2 POP3简介(续),DELE命令 语法形式:DELE 功能:服务器将邮件标记为删除,当执行QUIT命令时才真正删除。服务器返回:+OK成功;-ERR错误。示例:C:DELE 1 S:+OK 1 DeletedQUIT命令 格式:QUIT 功能:关闭与服务器的连接。服务器返回:+OK;-ERR。示例:C:QUIT S:+OK 然后服务器自动断开与该客户端的连接。,9.3 邮件收发相关的类,9.3.1 NetworkCredential类9.3.2 MailAddress类9.3.3 MailMessage类9.3.4 Attachment 类9.3.5 SmtpClient 类9.3.6 邮件附加信息类,9.3.1 NetworkCredential类,NetworkCredential类用于提供客户端身份验证凭据,提供SMTP服务器需要验证的用户名和密码,用法为:NetworkCredential myCredentials=new NetworkCredential(“发件人邮箱,密码);,9.3.2 MailAddress类,位于命名空间下MailAddress类用于提供发件人和收件人的邮件地址举例:MailAddress from=new MailAddress(“发件人邮箱);MailAddress to=new MailAddress(“收件人邮箱);,9.3.3 MailMessage类,位于命名空间下MailMessage类用于提供邮件的信息,包括主题、内容、附件、信息类型等,举例:MailMessage message=new MailMessage(from,to);message.Subject=“我的邮件;message.SubjectEncoding=System.Text.Encoding.UTF8;message.Body=“这是邮件内容;message.BodyEncoding=System.Text.Encoding.UTF8;,9.3.4 Attachment类,提供附件对象,例如:Attachment attachFile=new Attachment(“aa.rar);message.Attachments.Add(attachFile);,9.3.5 SmtpClient类,将电子邮件发送到 SMTP 服务器。使用 SmtpClient 发送的电子邮件包含Attachment、MailAddress和MailMessage的相关信息。构造函数:(1)SmtpClient():用专门的配置文件初始化 SmtpClient 类的新实例。配置文件中包括客户端的Host、Credentials 和 Port 属性。(2)SmtpClient(string serverName):用指定的 SMTP 服务器发送电子邮件,服务器端口默认为25。例如:SmtpClient client=new SmtpClient(“);client.Send(message);(3)SmtpClient(string serverName,int port):指定SMTP服务器和端口。例如:SmtpClient client=new SmtpClient(“,25);client.Send(message);,9.3.5 SmtpClient类(续),常用属性Credentials属性:获取或设置验证发件人身份的凭据。EnableSsl属性:是否使用安全套接字层加密连接。Port属性:获取或设置SMTP服务器端口TimeOut属性:获取或设置发送的超时时间。常用方法:Send方法:采用同步方式发送电子邮件。SendAsync方法:采用异步方式发送电子邮件。SendAsyncCancel方法:取消异步发送。SendCompleted事件:异步发送完成时触发。,9.3.6 邮件附加信息类,命名空间包含用于表示Multipurpose Internet Mail Exchange(MIME,多用途因特网邮件扩展)标头的类型。使用SmtpClient类发送电子邮件时与命名空间中的类联合使用,用于指定Content-Type、Content-Disposition和 Content-transfer-Encoding标头。表9-5和表9-6,9.3.6 邮件附加信息类,例如:Attachment attachment=new Attachment(C:a.doc,MediaTypeNames.Application.Octet);attachment.TransferEncoding=TransferEncoding.Base64;ContentDisposition cd=attachment.ContentDisposition;cd.CreationDate=File.GetCreationTime(pathFileNam);cd.ModificationDate=File.GetLastWriteTime(pathFileName);cd.ReadDate=File.GetLastAccessTime(pathFileName);,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 异步方式收发邮件举例(续),异步接收。运行效果:,

    注意事项

    本文(SMTP与POP3应用编程.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开