第十三章SMTP与POP3协议开发.ppt
文本预览下载声明
第十三章 SMTP与POP3协议开发 13.1 电子邮件的工作原理 13.2 简单邮件传输协议(SMTP) 13.3 邮件发送举例 13.4 POP3协议 13.5 邮件接收处理举例 13.1 电子邮件的工作原理 ?电子邮件是一种存储转发式的服务,利用存储转发进行非实时的通信,属异步通信方式。 ?电子邮件的管理是通过邮件服务器来实现的,它实际上是一个连接在通信网上的计算机系统。 13.2 简单邮件传输协议(SMTP) ?电子邮件的组成 1.信封 信封包括发信人的邮件地址和接收人的邮件地址,用两条SMTP命令指明。 2. 首部(首部中常用字段格式 见教材) 3.正文 正文是邮件的内容。首部以一个空行结束,再下面就是正文部分。 邮件以“.”结束。 ?与邮件服务器连接 与SMTP服务器的连接 使用命令格式:HELO信息发送端的名称 格式举例:HELO Local 2. 与ESMTP服务器建立连接 (1) 使用命令格式:EHLO信息发送端的名称 格式举例:EHLO Local (2) 启动服务器认证 命令格式:AUTH LOGIN 3. 断开与服务器的连接 命令格式:QUIT 使用QUIT命令退出系统,断开与服务器的连接。 ?邮件的发送过程 以与ESMTP服务器建立连接发送邮件为例。 1.客户端先与服务器建立连接 1) 客户端发送EHLO Local 2) 客户端发送AUTH LOGIN 3) 客户端发送经过Base64编码处理的用户名 4) 客户端发送经过Base64编码处理的密码 2.客户端开始发送邮件的信封 5) 客户端发送 MAIL FROM:发信人的地址 6) 客户端发送 RCPT TO:收信人的地址 3.客户端开始发送邮件数据 7) 客户端发送DATA 8) 客户端可以选择发送邮件的首部字段 9) 客户端发送一个空行表示邮件首部结束。 10) 客户端开始发送正文。 11) 客户端发送“.”表示邮件发送结束。 4.客户端先服务器断开连接 12) 客户端发送QUIT表示断开连接。 13.3 邮件发送举例 ?利用TcpClient类直接发送邮件 1. 建立一个Windows应用程序项目,设计窗体如图所示。 窗体中主要控件属性见表13-1。 2. 添加名称空间引用。 using System.Net; using System.Net.Sockets; using System.IO; 3. 添加字段声明。 TcpClient smtpSrv; NetworkStream netStrm; string CRLF=\r\n; 4. 书写代码。 1) 添加WriteStream方法。 该方法通过连接向服务器输出字符串数据。 2) 添加AuthStream方法。 该方法用于将普通字符串转换为等效的以64为基的字符串,即Base64编码形式。 3) 修改buttonSend_click()事件 该事件用于发送邮件。 5.运行该项目。运行界面如图13-2所示。 ?利用SmtpMail类发送邮件 Microsoft在.NET中提供了SmtpMail类,它可 以直接发送电子邮件,该类属于System.Web.Mail 命名空间。 ?发送举例 private MailMessage mailMessage=new MailMessage(); mailMessage.To=收件人地址; mailMessage.From=发件人地址; mailMessage.Subject=主题; mailMessage.Body=邮件正文; SmtpMail.Send(mailMessage); 或者 SmtpMail.Send(发件人地址,收件人地址,主题,邮件正文); 13.4 POP3协议 POP(Post Office Protocol)协议,即邮局协议,用 于电子邮件的接收,现在常用的是第三版,简称为POP3。
显示全部