支持SMTP协议的邮件发送,支持text/html、text/plain、附件,已测试QQ邮箱和163邮箱
Python版本:3.9.6
ide:PyCharm 2021.1.3
持续更新发送邮件的功能,同样把遇到的几个问题罗列下:
1、首先,了解下MIME对象的结构。(引用自https://blog.csdn.net/handsomekang/article/details/9811355)
MIMEBase
|-- MIMENonMultipart
|-- MIMEApplication
|-- MIMEAudio
|-- MIMEImage
|-- MIMEMessage
|-- MIMEText
|-- MIMEMultipart
一般来说,不会用到MIMEBase,而是直接使用它的继承类。MIMEMultipart有attach方法,而MIMENonMultipart没有,只能被attach。
MIME有很多种类型,图片格式用MIMEImage,音频用MIMEAudio。
最懒的方法就是,不管什么类型的附件,都用MIMEApplication,MIMEApplication默认子类型是application/octet-stream。
application/octet-stream表明二进制文件,客户端收到这个声明后,根据文件扩展名来处理。
2、需要吧From、To和Subject添加到MIME对象,否则主题栏和收件人栏为空,如下图。
登录邮箱服务器
smtp_server = 'smtp.163.com'
serv = smtplib.SMTP_SSL(smtp_server, 465)
serv.login(XXXX@163.com, 'pass