1 / 14

第十三章 SMTP 与 POP3 协议开发

第十三章 SMTP 与 POP3 协议开发. 13.1 电子邮件的工作原理 13.2 简单邮件传输协议( SMTP ) 13.3 邮件发送举例 13.4 POP3 协议 13.5 邮件接收处理举例. 13.1 电子邮件的工作原理.  电子邮件是一种存储转发式的服务,利用存储转发进行非实时的通信,属异步通信方式。  电子邮件的管理是通过邮件服务器来实现的,它实际上是一个连接在通信网上的计算机系统。. 13.2 简单邮件传输协议( SMTP ).  电子邮件的组成 1. 信封

latham
Download Presentation

第十三章 SMTP 与 POP3 协议开发

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十三章 SMTP与POP3协议开发 13.1 电子邮件的工作原理 13.2 简单邮件传输协议(SMTP) 13.3 邮件发送举例 13.4 POP3协议 13.5 邮件接收处理举例

  2. 13.1 电子邮件的工作原理 电子邮件是一种存储转发式的服务,利用存储转发进行非实时的通信,属异步通信方式。 电子邮件的管理是通过邮件服务器来实现的,它实际上是一个连接在通信网上的计算机系统。

  3. 13.2 简单邮件传输协议(SMTP) 电子邮件的组成 1.信封 信封包括发信人的邮件地址和接收人的邮件地址,用两条SMTP命令指明。 2. 首部(首部中常用字段格式 见教材) 3.正文 正文是邮件的内容。首部以一个空行结束,再下面就是正文部分。 邮件以“.”结束。

  4. 与邮件服务器连接 • 与SMTP服务器的连接 使用命令格式:HELO<信息发送端的名称> 格式举例:HELO Local 2. 与ESMTP服务器建立连接 (1)使用命令格式:EHLO<信息发送端的名称> 格式举例:EHLO Local (2) 启动服务器认证 命令格式:AUTH LOGIN 3. 断开与服务器的连接 命令格式:QUIT 使用QUIT命令退出系统,断开与服务器的连接。

  5. 邮件的发送过程 以与ESMTP服务器建立连接发送邮件为例。 1.客户端先与服务器建立连接 1) 客户端发送EHLO Local 2) 客户端发送AUTH LOGIN 3) 客户端发送经过Base64编码处理的用户名 4) 客户端发送经过Base64编码处理的密码 2.客户端开始发送邮件的信封 5) 客户端发送MAIL FROM:<发信人的地址> 6) 客户端发送RCPT TO:<收信人的地址>

  6. 3.客户端开始发送邮件数据 7)客户端发送DATA 8)客户端可以选择发送邮件的首部字段 9)客户端发送一个空行表示邮件首部结束。 10)客户端开始发送正文。 11)客户端发送“.”表示邮件发送结束。 4.客户端先服务器断开连接 12)客户端发送QUIT表示断开连接。

  7. 13.3 邮件发送举例 利用TcpClient类直接发送邮件 1. 建立一个Windows应用程序项目,设计窗体如图所示。 窗体中主要控件属性见表13-1。

  8. 2. 添加名称空间引用。 using System.Net; using System.Net.Sockets; using System.IO; 3. 添加字段声明。 TcpClient smtpSrv; NetworkStream netStrm; string CRLF="\r\n";

  9. 4. 书写代码。 1)添加WriteStream方法。 该方法通过连接向服务器输出字符串数据。 2)添加AuthStream方法。 该方法用于将普通字符串转换为等效的以64为基的字符串,即Base64编码形式。 3)修改buttonSend_click()事件 该事件用于发送邮件。 5.运行该项目。运行界面如图13-2所示。

  10. 利用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("发件人地址","收件人地址","主题","邮件正文");

  11. 13.4 POP3协议 POP(Post Office Protocol)协议,即邮局协议,用 于电子邮件的接收,现在常用的是第三版,简称为POP3。 具体介绍见教材。

  12. 13.5 邮件接收处理举例 本节以实例讲解邮件的接收处理过程。 1. 建立一个新的项目,设计窗体如图所示。 窗体中主要控件属性 见表13-3。

  13. 2. 在Form1.cs文件中增添名空间引用。 using System.Net; using System.Net.Sockets; using System.IO; 声明变量 public TcpClient Server; public NetworkStream NetStrm; public StreamReader RdStrm; public string Data; public byte[] szData; public string CRLF = "\r\n";

  14. 3. 书写代码 1)修改buttonCon_Click事件。 该事件与服务器建立连接,读取总邮件数,并将邮件编号显示在列表框中。 2)修改buttonDiscon_Click事件。 该事件断开与服务器的连接。 3)修改buttonRead_Click事件。 读取制定的邮件内容,显示在文本框中。 4)修改buttonDel_Click事件。 该事件删除指定的邮件。 4. 运行。 运行结果如图13-4所示。

More Related