收藏 分销(赏)

Python期末大作业格式样本——不带批注.docx

上传人:xrp****65 文档编号:7427809 上传时间:2025-01-04 格式:DOCX 页数:6 大小:49.89KB 下载积分:10 金币
下载 相关 举报
Python期末大作业格式样本——不带批注.docx_第1页
第1页 / 共6页
Python期末大作业格式样本——不带批注.docx_第2页
第2页 / 共6页


点击查看更多>>
资源描述
Python语言期末大作业 ( 2014 / 2015 学年 第 二 学期) 报告题目: 使用smtplib和email模块发送邮件 专 业 软件工程(嵌入式培养) 学 生 姓 名 夏何辉 班 级 学 号 B14041431 任 课 教 师 朱立华 教 师 单 位 计算机软件教学中心 完 成 日 期 2015年6月 16日 评 分 细 则 评分项 优秀 良好 中等 差 上课出勤 上课表现 上机情况 平时作业完成情况 期末大作业: (1)书写认真程度 (2)内容详实程度 (3)文字表达能力 (4)是否体现观点 简 短 评 语 教师签名: 年 月 日 评分等级 备注 评分等级有五种:优秀、良好、中等、及格、不及格 使用smtplib和email模块发送邮件 Python语音是一款方便简介,几乎无所不能的编程语言,我通过自己的课上学习与课下钻研,学会了如何使用smtplib模块定义一个简单的SMTP客户端来在互联网上发送邮件。 在SMTP模块这么多已定义的类中,我们最常用的的还是smtplib.SMTP类,就具体看看该类的用法: smtp实例封装一个smtp连接,它支持所有的SMTP和ESMTP操作指令,如果host和port参数被定义,则smtp会在初始化期间自动调用connect()方法,如果connect()方法失败,则会触发SMTPConnectError异常,timeout参数设置了超时时间。在一般的调用过程中,应该遵connetc()、sendmail()、quit()步骤。主要代码如下: SMTP.set_debuglevel(level) //设置输出debug调试信息,默认不输出调试信息。 SMTP.docmd(cmd[, argstring]) //发送一个command到smtp服务器, SMTP.connect([host[, port]]) //连接到指定的smtp服务器,默认是本机的25端口。也可以写成hostname:port的形式。 SMTP.helo([hostname]) //使用helo指令向smtp服务器确认你的身份。 SMTP.ehlo([hostname]) //使用ehlo指令向esmtp服务器确认你的身份。 SMTP.ehlo_or_helo_if_needed() //如果在以前的会话连接中没有提供ehlo或者helo指令,这个方法调用ehlo()或者helo()。 SMTP.has_extn(name) //判断指定的名称是否在smtp服务器上。 SMTP.verify(address) //判断邮件地址是否在smtp服务器上存在。 SMTP.login(user, password) //登陆需要验证的smtp服务器,如果之前没有提供ehlo或者helo指令,则会先尝试ESMTP的ehlo指令。 SMTP.starttls([keyfile[, certfile]]) //使smtp连接运行在TLS模式,所有的smtp指令都会被加密。 SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]) //发送邮件,该方法需要一些邮件地址和消息。 SMTP.quit() //终止smtp会话并且关闭连接。 如果想在邮件中携带附件、使用html书写邮件,附带图片等等,就需要使用email模块及其子模块。下面来看看email包,email包是用来管理email信息的,它包括MIME和其他基于RFC 2822的消息格式。email包的主要特征是在它内部解析和生成email信息是分开的模块来实现的。 MIME消息由消息头和消息体两大部分组成,在邮件里就是邮件头和邮件体。邮件头与邮件体之间以空行进行分隔。 邮件头包含了发件人、收件人、主题、时间、MIME版本、邮件内容的类型等重要信息。每条信息称为一个域,由域名后加“: ”和信息内容构成,可以是一行,较长的也可以占用多行。域的首行必须“顶头”写,即左边不能有空白字符(空格和制表符);续行则必须以空白字符打头,且第一个空白字符不是信息本身固有的。 邮件体包含邮件的内容,它的类型由邮件头的“Content-Type”域指出。最常见的类型有text/plain(纯文本)和text/html(超文本)。邮件体被分为多个段,每个段又包含段头和段体两部分,这两部分之间也以空行分隔。常见的multipart类型有三种:multipart/mixed, multipart/related和multipart/alternative。 在email的包里面包含了很多模块: email.message email.parser email.generator email.mime 创建email和MIME对象 email.header email.charset email.encoders email.ereors email.utils email.iterators 主要来看看email.mime,在邮件中携带附件、图片、音频时,主要使用的是该模块。一般情况下,你通过解析一个文件或者一段text来生成一个消息对象结构,你也可以从头开始建立一个消息结构,实际上,你可以给一个已经存在的消息结构追加一个新的消息对象。你可以通过创建message实例来创建一个对象结构,然后给该结构追加附件和头部信息。email包提供了一些子类使得该操作变得很容易。 模拟在邮件内容中携带图片,如下: from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage import smtplib from_mail = 'froooooooom@' to_mail = 'toooooooooo@' msg = MIMEMultipart() msg['From'] = from_mail msg['To'] = to_mail msg['Subject'] = 'python mail test' body = 'test img send' con = MIMEText('<b>%s</b> <img alt="" src="cid:D:\\10535-102.jpg" /> ' % body,'html') msg.attach(con) img = MIMEImage(file('D:\\10535-102.jpg','rb').read()) img.add_header('Content-ID','D:\\10535-102.jpg') msg.attach(img) server = smtplib.SMTP('') server.docmd('ehol','tooooooo@') server.starttls() server.login('username@','password') server.sendmail(from_mail,to_mail,msg.as_string()) server.quit() -
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服