大家好,我是天空之城,今天给大家带来发送带附件的邮件方法。附件可以是图片,音频,表格,视频,pdf都可以。
感谢博友「Samaritan·J」
import smtplib
# smtplib 用于邮件的发信动作
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.application import MIMEApplication
# 处理任意二进制文件
if __name__ == '__main__':
msg = MIMEMultipart()
# 创建包含多个部分的邮件体的 MIME 对象实例
user = 'xxx@qq.com' # 发件人邮箱账号
password = 'pwd' # 发件人邮箱密码/授权码
to_addr = 'xxx@163.com' # 收件人地址
smtp_serv = 'smtp.qq.com' # 发信服务器
msg['From'] = Header("编辑发件人", 'utf-8')
msg['To'] = Header("编辑收件人", 'utf-8')
msg['Subject'] = Header('编辑邮件标题', 'utf-8')
msg.attach(MIMEText('邮件正文文本内容', _subtype='html', _charset='utf-8'))
part = MIMEApplication(open(r'C:\Users\data.xlsx', 'rb').read())
# open里输入添加附件文件的绝对路径
part.add_header('Content-Disposition', 'attachment', filename='data.xlsx')
# 构造附件,filename是编辑附件文件名,可以随便写
msg.attach(part)
# 添加附件
server = smtplib.SMTP() # 开启发信服务(也可使用加密传输)
server.connect(smtp_serv,25) # 连接服务器
server.login(user, password) # 登录发信邮箱
server.sendmail(user,to_addr, msg.as_string()) # 发送邮件
server.quit() # 关闭服务器
原文链接:https://blog.csdn.net/u010890916/article/details/106596881