Python 技术篇-用smtplib和email库实现邮件发送各种类型的附件实例演示

本文介绍如何使用Python通过QQ邮箱发送带有图片和文档附件的邮件,详细讲解了MIMEBase类的使用方法,以及如何设置邮件的发件人、收件人和主题。

qq 账号发送邮箱登陆密码需要用授权码。
可以看我的这个文章:
Python 技术篇-qq邮箱授权码开通

实现原理

我们用图片和文档两种类型的附件举个例子。
MIMEBase(",")
这个里只要有两个字符串参数就好了。可以随便填。
m_img.add_header('Content-Disposition', 'attachment', filename = "...")
filename 对应的名字填上就好了,展示就是靠这个名字来识别的,是展示为图片样式或是word文档样式。

#!/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()   # 邮件主体

# 邮件加入图片
m_img = MIMEBase('', '')
m_img.add_header('Content-Disposition', 'attachment', filename = "hello.jpg")
f = open("hello.jpg", "rb")   # 读取本地图片
m_img.set_payload(f.read())
encoders.encode_base64(m_img)
message.attach(m_img)

# 邮件加入文档
m_file = MIMEBase('', '')
m_file.add_header('Content-Disposition', 'attachment', filename = "hello.doc")
f = open("hello.doc", "rb")   # 读取本地文档
m_file.set_payload(f.read())
encoders.encode_base64(m_file)
message.attach(m_file)

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())   # 发送账号、接收账号和邮件信息

运行效果图:
在这里插入图片描述
喜欢的点个赞❤吧!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挣扎的蓝藻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值