资源简介 案例 开发简易的电子邮件客户端 1. 教学目标 ·了解电子邮件系统的基本结构和工作过程。 ·了解网络协议在网络应用软件开发过程中的作用,提高网络编程的兴趣。 ·通过活动反思,培养学生的网络道德规范,增强信息社会责任意识。 2. 教学对象分析 现在的高一学生,对如何使用信息系统服务,如收发电子邮件并不陌生,但对信息系统的基本结构和工作过程等不熟悉。与之相对应的,学生可以编写单机运行的程序,但对如何开发网络应用软件知之甚少。 3. 教学重点与难点 教学重点:“客户/服务器”模式的特点、网络编程的要素、网络协议与软件开发。 教学难点:网络应用软件的开发、通过程序代码实现收发电子邮件。 4. 教学方法与手段 教学方法:项目教学法 教学手段:教师讲授,学生分组实践、练习、体验。 5. 教学过程设计 教学环节 教师活动 学生活动 意图与手段 问题情境 大家都用过电子邮件吧,请回忆一下不同使用方法的操作步骤。 方法一:用浏览器收发电子邮件。 方法二:用Foxmail等收发电子邮件。 输入用户名和密码登陆后,就可以查看邮箱了;发邮件时,需要输入对方的邮件地址…… 引出疑问:电子邮件信息系统到底是如何工作的? 引入新课 展示图片,帮助学生理解邮件收发的 工作原理,并解释SMTP、POPv3等术语。 收发邮件时,我们点击了很多按钮,这些按钮背后对应着哪些指令?具体是怎样工作的?电子邮件系统从整体上看,又是如何工作的?为了弄清这些问题,今天我们换种方法来收发电子邮件——用程序收发电子邮件。 观看演示文稿,加深理解。 为引入新课做铺垫 实践体验1 让学生完成任务“编程发送电子邮件”,运行程序并观察结果。 网络编程所需参数:用户名、密码、网络协议SMTP、发信服务器地址、收信人的邮箱地址。 用老师给出的程序列出自己收信箱中的邮件,然后用浏览器或已有的客户端软件打开收信箱,看看用程序代码获得的列表是否完整、正确。 完成教学目标,突破重点难点 实践体验2 让学生完成任务“编程获取电子邮件列表”。请学生输入必要的参数完善程序,然后运行程序并观察结果。 网络编程所需参数:用户名、密码、网络协议 POPv3、邮件服务器地址。 用老师给出的程序列出自己收信箱中的邮件,然后用浏览器或已有的客户端软件打开收信箱,看看用程序代码获得的列表是否完整、正确。 完成教学目标,进一步培养学生协作和沟通的能力 知识讲授归纳总结 通过刚才运行的两个程序,我们清楚了收发电子邮件的具体过程及具体的指令,从而了解了电子邮件系统的基本结构和工作过程。 电子邮件系统实质上就是遵循事先商量好的协议交换数据。 在老师的引导下,归纳电子邮件系统的基本结构和工作过程,进而进一步认识网络信息系统中的数据交换过程。 实现教学目标 拓展活动 如何编程发送带附件的电子邮件? 利用老师提供的代码,修改发送邮件的程序,实现添加附件的功能。 拓展程序功能,加深对软件作用的理解 活动反思 自动发送电子邮件的程序可能会引发什么问题?该如何应对? 查阅资料并回答。 发送邮件的程序,可能会被别有用心的人用来发送垃圾邮件。应对方法包括服务器端限制每个账户每天发送的电子邮件数量,用人工智能技术自动检测、拦截垃圾邮件等。 增强信息社会责任感 6. 相关资料 可发送带附件的电子邮件的Python程序。 iimport smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplicationprint if __name__ == '__main__': fromaddr = 'xxxxxxx' #发信人邮箱地址 password = 'xxxxxx' #发信人邮箱密码 toaddrs = ['xxxxxxxxx'] #收件人邮箱地址 content = '附件是三个不同格式的文件。' #邮件正文内容 textApart = MIMEText(content) imageFile = '1.jpg' imageApart = MIMEImage(open(imageFile, 'rb').read(), imageFile.split('.')[-1]) imageApart.add_header('Content-Disposition', 'attachment', filename=imageFile) pdfFile = '2.pdf' pdfApart = MIMEApplication(open(pdfFile, 'rb').read()) pdfApart.add_header('Content-Disposition', 'attachment', filename=pdfFile) zipFile = '3.zip' zipApart = MIMEApplication(open(zipFile, 'rb').read()) zipApart.add_header('Content-Disposition', 'attachment', filename=zipFile) m = MIMEMultipart() m.attach(textApart) m.attach(imageApart) m.attach(pdfApart) m.attach(zipApart) m['Subject'] = '带有3个附件的邮件' #邮件标题 m['From']='<'+fromaddr+'>' m['To']=":".join(toaddrs) try: server = smtplib.SMTP('smtp.xxx.com') #发送服务器的地址 server.login(fromaddr,password) server.sendmail(fromaddr, toaddrs, m.as_string()) print('发送成功') server.quit() except smtplib.SMTPException as e: print('发送失败:',e) 展开更多...... 收起↑ 资源预览