前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 技术篇-用smtplib和email库实现邮件发送并展示本地图片实例演示

Python 技术篇-用smtplib和email库实现邮件发送并展示本地图片实例演示

作者头像
小蓝枣
发布2022-05-07 17:24:30
730
发布2022-05-07 17:24:30
举报

qq账号发送邮箱登陆密码需要用授权码。

可以看我的这个文章:

Python 技术篇-qq邮箱授权码开通

实现原理

将本地图片加入到邮件的附件中

m_img.add_header('Content-ID', '<id>')

用来设置图片id。

然后通过邮件html文本引入图片。

<img src="cid:id">

用来引用图片。

代码语言:javascript
复制
#!/user/bin/env python
# -*- coding:utf-8 -*-
import smtplib
from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header

message = 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为0
f = 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("smtp.qq.com")   # 连接 qq 邮箱
mail.login("11507411@qq.com", "授权码")   # 账号和授权码
mail.sendmail("11507411@qq.com", ["24185465@qq.com"], message.as_string())   # 发送账号、接收账号和邮件信息

运行效果图

当前展示的就是本地的 hello1.jpg 图片

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现原理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档