下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用U方有/月Python语言期末大作业(2014 / 2015学年 第 二 学期)报告题目:使用 smtplib 和 email模块发送邮件专业软件工程(嵌入式培养)学生姓名夏何辉班级学号B14041431任课教师朱立华教师单位计算机软件教学中心完成日期 2015 年6月16日评分项良好中等差评上课出勤分上课表现细上机情况平时作业完成情况则期末大作业:(1)书写认真程度(2)内容详实程度(3)文字表达能力(4)是否体现观点简 短 评 语年月日教师签名*评分等级备注评分等级后五种:优秀、良好、中等、及格、不及格使用smtplib和email模块发送邮件Python语音是一款方便简介,几乎无所不能
2、的编程语言,我通过自己的课上学习与 课下钻研,学会了如何使用smtplib模块定义一个简单的SMTPg户端来在互联网上发送 邮件。在SMTP真块这么多已定义的类中,我们最常用的的还是smtplib.SMTP类,就具体看看该类的用法:smtp实例封装一个smtp连接,它支持所有的SMT环口 ESMT操作指令,如果host和 port参数被定义,则smtp会在初始化期间自动调用connect()方法,如果connect()方法 失败,则会触发SMTPConnectError异常,timeout参数设置了超时时间。在一般的调用过 程中,应该遵connetc()、sendmail()、quit()步骤
3、。主要代码如下:SMTP.set_debuglevel(level)设置输出debug调试信息,默认不输出调试信息。SMTP.docmd(cmd, argstring)/发送一个command!J 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()/如果在
4、以前的会话连接中没有提供 ehlo或者helo指令,这个方法调用ehlo()或者 helo() oSMTP.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, t
5、o_addrs, msg, mail_options, rcpt_options)/发送邮件,该方法需要一些邮件地址和消息。SMTP.quit()/终止smtp会话并且关闭连接。如果想在邮件中携带附件、使用 html书写邮件,附带图片等等,就需要使用 email 模块及其子模块。下面来看看 email包,email包是用来管理email信息的,它包括MIME 和其他基于RFC2822的消息格式。email包的主要特征是在它内部解析和生成 email信息 是分开的模块来实现的。MIM日肖息由消息头和消息体两大部分组成,在邮件里就是邮件头和邮件体。邮件头与邮件体之间以空行进行分隔。邮件头包含了发件
6、人、收件人、主题、时间、MIMEJK本、邮件内容的类型等重要信息。 每条信息称为一个域,由域名后加“:”和信息内容构成,可以是一行,较长的也可以占 用多行。域的首行必须“顶头”写,即左边不能有空白字符(空格和制表符);续行则必须以空白字符打头,且第一个空白字符不是信息本身固有的。邮件体包含邮件的内容,它的类型由邮件头的“ Content- Type”域指出。最常见的类 型有text/plain( 纯文本)和text/html(超文本)。邮件体被分为多个段,每个段又包含段 头和段体两部分,这两部分之间也以空行分隔。常见的multipart 类型有三种:multipart/mixed, multi
7、part/related 和 multipart/alternative 。在email的包里面包含了很多模块:email.messageemail.parseremail.generatoremail.mime 创建 email 和 MIME寸象email.headeremail.charsetemail.encodersemail.ereorsemail.utilsemail.iterators主要来看看email.mime ,在邮件中携带附件、图片、音频时,主要使用的是该模块。一般情况下,你通过解析一个文件或者一段text来生成一个消息对象结构,你也可以从头开始建立一个消息结构,实际上,
8、你可以给一个已经存在的消息结构追加一个新的消息 对象。你可以通过创建 message实例来创建一个对象结构,然后给该结构追加附件和头部 信息。email包提供了一些子类使得该操作变得很容易。模拟在邮件内容中携带图片,如下:from email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.image import MIMEImageimport smtplibfrom_mail = 'froooooooom'to_mail = 'toooooo
9、oooo'msg = MIMEMultipart()msg'From' = from_mailmsg'To' = to_mailmsg'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 = MIMEImagefile('D:10535-102.jpg','rb').read()img.add_header('Content-ID','D:10535-102.jpg')msg.attach(img)server = smtplib.SMTP('')server.docmd('ehol
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度企业并购与股权转让合同标的
- 2024年度建筑设计顾问服务合同
- 2024年度保险合同保险范围和保险费用支付2篇
- 保证合同的概念特征3篇
- 二零二四年坯布生产与玩具制造合作合同
- 二零二四年度硫精矿购销合同
- 二零二四年排水管施工工程物流服务合同
- 2024年度医疗服务设备采购与维护合同3篇
- 2024年度变电站设计工程承包合同2篇
- 二零二四年度腾讯社交广告投放协议
- 社会稳定风险评估业务档案管理制度
- 政协的知识课件
- GB/T 30489-2024城市轨道车辆客室侧门
- (高清版)TDT 1068-2022 国土空间生态保护修复工程实施方案编制规程
- 奇瑞汽车采购管理手册
- 有关周大福实习月工作总结
- 擦手纸生产工艺
- 生涯发展报告
- 《剪映:手机短视频制作》教学大纲
- 供应商分析报告
- 江苏省扬州树人学校2023-2024学年八年级上学期期末英语试卷(含答案)
评论
0/150
提交评论