python浅学笔记17-电子邮件

本文介绍了电子邮件的运作原理,其历史比Web久远,运作类似真实邮件。还阐述了编写程序收发邮件的本质,发邮件用SMTP协议,收邮件可用POP3或IMAP4协议。重点讲解了Python内置模块实现SMTP发送邮件和POP3收取邮件的方法,包括构造邮件、发送附件等。

学习文档 from https://www.liaoxuefeng.com

电子邮件

Email的历史比Web久远。
电子邮件的运作和真实的邮件相似,只不过速度很快仅需秒记。
电子邮件软件被称为 MUA(mail user agent)
Email from A MUA pass A MTA(Mail Transfer Agent) pass some MTA pass B MTA to B MDA(Mail Delivery Agent) 这就到了某个服务器,存到某个数据库。最后由MUA取邮件
编写程序来发送和接收邮件,本质就是:
1.编写MUA把邮件发到MTA
2.编写MUA从MDA收取邮件
发邮件时,MUA和MTA使用的协议是SMTP:Simple Mail Transfer Protocol (MTA to MTA 也是该协议)
收邮件时,MUA和MDA使用的协议有两种:POP(Post Office Protocol),目前是POP3;IMAP(Internet Message Access Protocol)目前版本是4,优点不尽可以从MDA上取,还可以存到MDA(把收件箱邮件移到垃圾箱等)

SMTP发送邮件

Python内置对SMTP支持。email模块负责构造邮件,smtplib负责发送邮件。
from ,to ,subject 如果出现中文,需要要Header编码
发送html邮件
发送附件 MIMEBase
发送图片,正文有图片 = html + 附件,在html中引用附件的图片
同时支持HTML 和 Plain格式,同时发html 和 plain,接收人如果不支持html会自动降级为plain
加密SMTP,标准25端口是文明传输。加密,要建立SSL安全连接server.startls()

POP3收取邮件

poplib 模块,实现了POP3协议
1.用poplib 下载
2.用email 解析 ,与构造邮件相反,较麻烦,递归的打印Message对象,猜测编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值