qq账号发送邮箱登陆密码需要用授权码。
可以看我的这个文章:
Python 技术篇-qq邮箱授权码开通
实现原理
将本地图片加入到邮件的附件中。
m_img.add_header('Content-ID', '<id>')
用来设置图片id。
然后通过邮件html文本引入图片。
<img src="cid:id">
用来引用图片。
#!/user/bin/env python# -*- coding:utf-8 -*-import smtplibfrom email import encodersfrom email.mime.base import MIMEBasefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.header import Headermessage = MIMEMultipart() # 邮件主体# 邮件加入文本内容text = '<img src="cid:0">' # html文本引入id为0的图片m_text = MIMEText(text, 'html', 'utf-8')message.attach(m_text)# 邮件加入图片m_img = MIMEBase('image', 'jpg')m_img.add_header('Content-Disposition', 'attachment')m_img.add_header('Content-ID', '<0>') # 设置图片id为0f = open("hello1.jpg", "rb") # 读取本地图片m_img.set_payload(f.read())encoders.encode_base64(m_img)message.attach(m_img)message['From'] = Header('小爱') # 邮件发送者名字message['To'] = Header('小蓝枣') # 邮件接收者名字message['Subject'] = Header('来自异世界的一封信!') # 邮件主题mail = smtplib.SMTP()mail.connect("") # 连接 qq 邮箱mail.login("11507411@", "授权码") # 账号和授权码mail.sendmail("11507411@", ["24185465@"], message.as_string()) # 发送账号、接收账号和邮件信息
运行效果图:
当前展示的就是本地的hello1.jpg图片
喜欢的点个赞❤吧!