《计算机网络编程技术》多媒体课件 P8 Email服务程序设计

上传人:E**** 文档编号:89446622 上传时间:2019-05-25 格式:PPT 页数:30 大小:659KB
返回 下载 相关 举报
《计算机网络编程技术》多媒体课件 P8 Email服务程序设计_第1页
第1页 / 共30页
《计算机网络编程技术》多媒体课件 P8 Email服务程序设计_第2页
第2页 / 共30页
《计算机网络编程技术》多媒体课件 P8 Email服务程序设计_第3页
第3页 / 共30页
《计算机网络编程技术》多媒体课件 P8 Email服务程序设计_第4页
第4页 / 共30页
《计算机网络编程技术》多媒体课件 P8 Email服务程序设计_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《《计算机网络编程技术》多媒体课件 P8 Email服务程序设计》由会员分享,可在线阅读,更多相关《《计算机网络编程技术》多媒体课件 P8 Email服务程序设计(30页珍藏版)》请在金锄头文库上搜索。

1、5/25/2019,1,计算机网络编程技术,第8章 Email服务程序设计,张晓明 北京石油化工学院计算机系,5/25/2019,2,Email的使用分析,Email的广泛应用: 信息交换; 项目管理; ,Email引入的问题? 垃圾邮件; 引入病毒 ,5/25/2019,3,本章的主要内容,Email系统的工作原理 SMTP协议编程 POP3协议编程 利用SmtpMail类发送Email 利用JMail类收发Email,5/25/2019,4,8.1 Email系统的工作原理,(1) 工作原理,5/25/2019,5,(2) 相关的协议,RFC822: 定义了SMTP、POP3、IMAP以及

2、其他Email传输协议所提交和传输的内容。 SMTP: 简单邮件传输协议; POP3: 邮局协议第3版; IMAP4: 网际消息访问协议; MIME: 多用途Internet邮件扩展,5/25/2019,6,8.2 SMTP协议编程,(1) SMTP的指令与响应码,5/25/2019,7,(2) SMTP响应码,5/25/2019,8,(3) Email的组成,信封 MAIL FROM:; RCPT TO:。 首部,常用的字段格式有: FROM:; TO:; SUBJECT:; DATE:; REPLY-TO:; Content-Type:; X-Priority:; MIME-Version

3、:。 首部以一个空行结束。 正文:是E-mail的内容,以“.”表示结束。,5/25/2019,9,(4) ESMTP的工作流程,主要包含4个阶段: 建立连接 传送信封 传送数据 断开连接,5/25/2019,10,(5) ESMTP协议编程实例,Email发送界面设计 包含了服务器对用户信息的验证过程。,5/25/2019,11,主要代码说明,/建立与SMTP服务器的连接 smtpSrv=new TcpClient(tBSrv.Text,25); /获取一个网络流对象,以便通过网络连接来发送和接收数据 netStrm=smtpSrv.GetStream (); /生成一个StreamRead

4、er对象,用于从流中读取数据 StreamReader rdStrm=new StreamReader(smtpSrv.GetStream(); /向服务器发送EHLO Local,请求建立连接 WriteStream(“EHLO Local“); /读取服务器返回的信息,并写入信息列表中 listBoxMsg.Items.Add(rdStrm.ReadLine(); pb1.Value+; /向服务器发送AUTH LOGIN,请求认证 WriteStream(“AUTH LOGIN“); listBoxMsg.Items.Add(rdStrm.ReadLine(); pb1.Value+;

5、data=tBUser.Text; /转换为Base64编码格式 data=AuthStream(data); /向服务器发送用户名 WriteStream(data); listBoxMsg.Items.Add(rdStrm.ReadLine(); pb1.Value+; data=tBpwd.Text;,5/25/2019,12,主要代码说明(续),/转换密码为Base64编码格式,且传送给服务器 data=AuthStream(data); WriteStream(data); listBoxMsg.Items.Add(rdStrm.ReadLine(); pb1.Value+; /开始

6、发送E-mail的信封 /发信人的E-mail地址 data=“MAIL FROM: “; WriteStream(data); listBoxMsg.Items.Add(rdStrm.ReadLine(); pb1.Value+; /收信人的E-mail地址 data=“RCPT TO:“; WriteStream(data); listBoxMsg.Items.Add(rdStrm.ReadLine(); pb1.Value+; /开始发送数据 listBoxMsg.Items.Add(rdStrm.ReadLine(); pb1.Value+;,5/25/2019,13,主要代码说明(续

7、),/开始发送邮件的首部信息 data=“Date:“+DateTime.Now; /发送日期 WriteStream(data); pb1.Value+; /发送邮件发送者信息 data=“From:“+tBSend.Text; WriteStream(data); pb1.Value+; /发送邮件接收者信息 data=“TO:“+tBRev.Text; WriteStream(data); pb1.Value+; /发送邮件的主题 data=“SUBJECT:“+tBSubject.Text; WriteStream(data); pb1.Value+; /发送回复地址 data=“Re

8、ply-TO:“+tBSend.Text; WriteStream(data); pb1.Value+; /发送一个空行,表示首部结束,开始正文发送 WriteStream(“); pb1.Value+;,5/25/2019,14,主要代码说明(续),/发送邮件正文 WriteStream(tBMailText.Text); pb1.Value+; /发送“.“,表示邮件内容结束 WriteStream(“.“); pb1.Value+; listBoxMsg.Items.Add(rdStrm.ReadLine(); /发送断开连接命令 WriteStream(“QUIT“); pb1.Val

9、ue+; listBoxMsg.Items.Add(rdStrm.ReadLine(); netStrm.Close(); rdStrm.Close(); pb1.Visible=false; labelp.Visible=false; MessageBox.Show(“邮件发送成功!“,“成功“);,5/25/2019,15,8.3 POP3协议编程,(1) POP3协议的工作流程,5/25/2019,16,(2) 主要的POP3指令信息,5/25/2019,17,(3) POP3协议编程,接收程序界面 P204-208,5/25/2019,18,8.4 利用SmtpMail类发送Email

10、,微软公司在.NET中提供了SmtpMail类,能够简化E-mail发送程序设计。该类属于System.Web.Mail命名空间。 使用System.Web.Mail时,需要引用System.Web组件,即System.Web.dll。,5/25/2019,19,8.4 利用SmtpMail类发送Email,System.Web.Mail命名空间包括3个类: MailMessage MailAttachment SmtpMail 以及3个枚举类型: MailPriority MailFormat MailEncoding,5/25/2019,20,(1) 应用示例:,using System.

11、Web.Mail; System.Web.Mail.MailMessage mailMsg=new MailMessage(); mailMsg.From=““; mailMsg.To=““; mailMsg.Cc=““;,5/25/2019,21,(2) 处理Email信息,下面举例说明发送HTML格式的邮件内容: using System.Web.Mail; System.Web.Mail.MailMessage mailMsg; string mailBody=“; mailBody=“; mailBody=mailBody,5/25/2019,22,(3) 处理Email附件,usin

12、g System.Web.Mail; System.Web.Mail.Attachment mailAttach; mailAttach=new MailAttachment(“E:tempMail.txt“); 或者 mailAttach=new MailAttachment(“E:tempMail.txt“,MailEncoding.UUEncode); mailMsg.Attachments.Add(mailAttach); 若有几个附件,则依次用Attachment的Add方法将MailAttachment类所设置的附件加入Attachments属性中,如: mailAttach=ne

13、w MailAttachment(“E:tempMail1.txt“); mailMsg.Attachments.Add(mailAttach); mailAttach=new MailAttachment(“E:tempMail2.txt“); mailMsg.Attachments.Add(mailAttach); ,5/25/2019,23,(4) Email发送方法,System.Web.Mail.MailMessage mailMsg=new MailMessage(); mailMsg.From=““; mailMsg.To=““; mailMsg.Subject=“E-mail通

14、知“; mailMsg.Body=“E-mail正文“; mailMsg.Priority=MailPriority.High; SmtpMail.Send(mailMsg); 或者, SmtpMail.Send(““,““,“E-mail通知“,“E-mail正文“);,5/25/2019,24,8.5 利用JMail类收发Email,JMail是 Dimac 公司()推出的一种服务器端的邮件发送组件,用来发送邮件和编写软件。 JMail是一个第三方邮件操作组件,和程序紧密配合来接收及提交邮件到邮件服务器的控件,让网站拥有发送邮件和接收邮件的功能,可以在ASP、VC、VB、C#、Delphi

15、等开发工具中调用。 首先,下载Jmail组件,可以直接安装;也可以找到Jmail.dll,手动注册组件。在命令行环境下,到Jmail.dll所在目录,运行regsvr32 Jmail.dll。,5/25/2019,25,(1) JMail组件的特点, 可以发送附件; 详细日志能力,便于查看问题所在; 设置邮件发送的优先级; 支持多种格式的邮件发送,例如以HTML或者TXT的方式发送邮件; 密件发送/(CC)抄送/紧急信件发送能力; 最关键的就是,这是款免费的组件,所以非常值得使用。 JMail 4.0以上版本除了具备以上特点外,还有以下优点: 支持需要发信认证的SMTP服务器,现在多数免费邮箱

16、都需要SMTP发信认证; 当服务器支持SMTP发信时,JMail可以将信件加入SMTP发信队列,因而速度很快; 支持在HTML邮件中嵌入附件中的图片; 支持POP3收信,便于自行开发邮件的收发软件; 支持PGP加密邮件; 支持邮件合并,便于群发邮件,且每封信可以不同。,5/25/2019,26,JMail组件的主要参数与使用方法 应用示例:P214217,5/25/2019,27,(2) 基于JMail的Email发送,using jmail; jmail.Message jmessage=new jmail.MessageClass(); jmessage.Charset=“GB2312“; jmessage.From=“z

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号