中图版(2019)信息技术 必修2 3.3.2 开发简易的电子邮件客户端 课件(14张PPT)

文档属性

名称 中图版(2019)信息技术 必修2 3.3.2 开发简易的电子邮件客户端 课件(14张PPT)
格式 ppt
文件大小 967.5KB
资源类型 教案
版本资源 中图版(2019)
科目 信息技术(信息科技)
更新时间 2020-09-01 16:17:44

图片预览

文档简介

人教/中图版(2019)
第三章
3.3.2开发简易的电子邮件客户端
电子邮件服务几乎是伴随着计算机网络而出现的,目前这个“古老”的服务仍在广泛使用。收发电子邮件的软件,是一种典型的网络应用软件。
要想编写收发电子邮件的客户端软件,首先应当了解电子邮件系统的基本架构和工作过程
一个典型的电子邮件服务系统由服务器和客户端组成。如果没有特殊情况,所有的邮件服务器会24小时工作,随时准备接收或发送邮件。因此发件人可以随时上网发送邮件,收件人可以随时打开自己的电子信箱阅览邮件,收发双方不必同时在线。
典型的电子邮件系统主要涉及两种协议:SMTP和POPv3。SMTP是 simple mail transfer protocol的缩写,中文译为“简单邮件传送协议”,用于发送电子邮件;POPv3指第3版的邮局协议( post office protocol version3),用于接收电子邮件。
显而易见,系统中要有能按照这两种协议工作的服务器,即SMTP服务器和POPv3服务器。通过分析还可以发现,要编写的用于收发电子邮件的软件主要供客户端使用,它们必须依附已有的电子邮件系通依交流统才能工作。
思考活动
信息系统中的服务器
下面的说法对吗?为什么?
在一个信息系统中,可以只包括一种服务器,也可以包括多种服务器
在一个信息系统中,不同的服务器,如POPv3服务器、SMTP服务器,对应着不同的计算机,即一台计算机只能提供一种网络服务。
项目实施
编程获取电子邮件列表
1.用 Python语言编写或改写程序,并了解各段代码的功能。
import poplib #引入处理协议的库
from email import parser
from email. header import decode_header
server = poplib.POP_3SSL(‘xxx.xxx.xxx’)#PoPv3服务器
项目实施
server user(xxxx)#用户名
server, pass(xxxx)
resp, mails, octets = server .list()#获取邮件列表
print(”共有%d封邮件.“%1en(mai1s))
for Index in range(len(mails)):
resp, lines, octets=server. retr(index+1)
msg _content =b’\r\n’. join(lines). decode(utf-8)
msg =parser, Parser(). parsestr(msg. content)
Emmailbas={}
项目实施
for line in msg. items();
header-line[θ]
if header in ['From','Subject','Date'];
iten-decode header(line[1)[-1]
Code=itemn([1] If item[1] !=None else'ascii'
If isinstance(item[θ], bytes); value str(item[θ],code)
Else: value= item[θ]
emailbase [header]=value
print("…%d/%d…"%(index+1.len(mails)))
项目实施
print("发送信箱:“+ emailbase['From'])
print("信件主题:"+ emailbase['Subject'])
print("发信时间:" +emailbase 'Date'])
server, quit()
2.运行程序,观察运行结果。
共有15封件
------1/15------
发信信箱:< sinamailasina. com>
项目实施
信件主题:欢迎使用新浪邮箱
发信时间:Thu,20Feb2017 10:36:34+0800
-----2/15------
发信信箱:
信件主题:自动回复;我申请到电子信箱了
发信时间:Thu,20Fb201711:04:58+080(CST)

3.用渊览器等软件访问自己的电子信箱,看看显示的邮件列表与程序获取的列表是否一致。
与收取邮件对应的是发送邮件。发送邮件使用的网络协议是SMTP,编程前,要弄清用于发送邮件的服务器的地址、发信人的账号和密码等相关信息。
思考活动
编写网络软件可能遇到的问题
1.编写网络应用软件时,必须理清以下哪些信息?
信息系统采用的网络协议
各种服条器的地址
得到授权的用户名及相应的密码
2.想一想,如果滥用程序大批量发送邮件,可能会带未什么问题?
3.用客户撼软件或者用浏览器,都能访问也子信箱收发电子啷件,你更喜欢哪种方式?为什么?
*
Thanks