这一篇的话区别于上一篇在于增加了添加附件的功能,增大邮件的功能
import smtplib
sendAddress = '928606004@qq.com'
授权码获取:例如qq邮箱:在设置中激活关于smtp协议的选项,点击获取即可
写这个代码password = ‘’
''中写入你的授权码
csdn社区不能发这个,去掉**即可以用
server = smtplib.SMTP_SSL('smtp.qq.com', 465)
print(server)
loginResult = server.login(sendAddress, password)
print(loginResult)
(235,b’Authentication successful’)
235相应成功状态码
构建能够添加附件的邮件
from email.mime.text import MIMEText
使用MIMEMultipart添加附件
from email.mime.multipart import MIMEMultipart
定义一个可以添加正文和附件的邮件消息对象
msg = MIMEMultipart()
构建发件人、收件人、邮件主题等
msg['From'] = 'niuma<928606004@qq.com>'
msg['To'] = '张三<928606004@qq.com>'
msg['Subject'] = '起床啦,兄弟'
content = """
小伙汁,我劝你耗子尾汁
"""
添加正文
使用attach()向能够添加多组件的MIMEMultipar中添加邮件的组成部分
msg.attach(MIMEText(content, 'plain', 'utf-8'))
添加附件
先将附件使用二进制形式(字节)读取,再使用MIMEText方法规范
base64:最常用的字节传输方式
attachment_1 = MIMEText(open('mabaoguo.jpg', 'rb').read(), 'base64', 'utf-8')
告知浏览器或邮件服务器这是字节流
attachment_1['Content-Type'] = 'application/octet-stream'
告知浏览器或邮箱这是一个叫xxx的邮件附件
这个名字不要出现中文,不同邮箱对待中文的方式不一样
attachment_1['Content-Disposition'] = 'attachment;filename = "mabaoguo.jpg"'
msg.attach(attachment_1)
To = ['928606004@qq.com']
server.sendmail(sendAddress, To, msg.as_string())
print('发送成功')