手把手教你使用Python轻松搞定发邮件.docxVIP

手把手教你使用Python轻松搞定发邮件.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
手把手教你使用Python轻松搞定发邮件 ????现在生活节拍加快,人们之间沟通方式也有了天差地别,为了愈加便捷的沟通沟通,电子邮件产生了,众所周知,电子邮件其实就是客户端和服务器端发送接受数据一样,他有一个发信和一个收信的功能,电子邮件的通信协议为SMTP ,POP3,IMAP,而且他们都属于tcp/ip协议,像我们经常用到的QQ邮箱,网易邮箱,这些都是同样的模式。 预备 ????编辑器:sublime text 3 ????模块:smtplib和email 项目实施 1.安装 pip install smtplib pip install email ????注:这里有一个小坑,就是安装smtplib不能像上面那样直接安装,那样会安装不上的,你得先安装PyEmail,由于你smtplib 集成在了这个模块中了,就好比pillow模块集成在PIL中一样的,另一个正常安装即可。 2.开通pop3 SMTP imap 服务了解邮箱授权码 ????任何一个邮箱你假如想要发邮件,你得先开通以上服务,让邮件能够通信,而且还得有邮箱授权码,比如说QQ邮箱: ????打开QQ邮箱,选择设置--------账户,然后开启服务。 ????开启服务后,点击生成授权码,保存好授权码。猎取授权码只需要你用注册手机号发短信或者动态令牌即可。 3.构建邮件端口,建立连接 import smtplib sm=smtp.SMTP() # 初始化连接 sm.connect(邮件服务器地址,端口) #建立连接 sm.login(邮箱账号,邮箱密码/授权码) #登陆账户 sm.sendmail(邮件发送方,邮件接受方,邮件内容) #发送邮件 sm.quit() #关闭连接,结束邮件服务 ????了解了以上的学问后,我们来试着登陆一下吧,我以QQ邮箱为例: ????有这样的标识表示登陆成功,顺便强调一句,在这里我为什么没有配置邮件服务器端口,由于服务器已经帮我们配置好了,默认的都是25号端口,假如你担忧邮件的平安问题,比如会被黑客截胡,你也可以使用ssl链接传输: ????同样它的端口也是默认配置好了,他的端口号为465,为了平安,我们选择这项。 4.构建邮件内容部分 ????这里我们需要用到email模块,我们都晓得,邮件一般可以发很多东西,比如说文本,图片,文件等等,那么我们来看看吧。 一、文本 导入模块 from email.mime.text import MIMEText 填充文本 在此之前我们得晓得它的具体用法: ????MIMEText(‘邮件内容’,‘类型’, 编码) ????邮件内容为字符串 ????类型: ?text/plain ?text/html ????编码 : utf-8 ?gbk 构造文本 MIMEText(hello,text/plain,utf-8) 构造超文本 MIMEText( 点击此处有惊喜,text/html,utf-8) 下面我们来实际操作下吧。 ????格外成功收到了邮件了。正是2091500484这个邮箱给我发的。当然我们这样只是实现了最简约的功能, ????我们需要将它格式规范下,比如给它添加个开头结尾什么的。我们需要导入构建邮件完整内容的模块: from email.header import Header ????然后设置头部,内容,尾部 msg1[From]=Header(你是猪吗) #设置发件人昵称 msg1[To]=Header(hwhrr123321@163.com) #设置收件人昵称 msg1[Subject] = Header(我是猪) #设置标题 ????可以看到,是不是觉得很好玩了,快来试试吧,哈哈哈。。。 二、图片 ????发了文本后我们还想发一张图片,那该怎样办呢?莫慌,此时需要先导入发图片的模块: from email.mime.image import MIMEImage ????然后我们在读取图片文件将它添加到邮件中去。 ff=open(1.jpg,rb).read() #打开文件 fd=MIMEImage(ff,subtype) #初始化 fd.add_header(Content-ID,1.jpg) #添加到头部 ????可以看到图片并没有显示出来,那么这是怎样回事,哦,原来图片是依托附件而存在的,要么是html要么是附件,但是两者都需要附件模块的支持,下面我们导入附件模块: from email.mime.multipart import MIMEMultipart 1.将图片插入到html中 ????也就是将图片插入到注释部分,而非附件的方式。 msg3 = MIMEMultipart(related) msg3[From] = 你是猪吗 msg3[To] =

文档评论(0)

liuxiyuliuxingyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档