python发送带中文附件名的邮件

简介: 写项目练手时遇到的一个有趣事

话不多说直接上代码吧,如有不当请大佬指点一二:


import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from email.mime.image import MIMEImage

#设置登录及服务器信息

mail_host = 'smtp.163.com'

mail_user = 'USER'

mail_pass = 'PASS'

sender = 'SEND'

receivers = ['recive']

#设置eamil信息

#添加一个MIMEmultipart类,处理正文及附件

message = MIMEMultipart()

message["Accept-Language"] = "zh-CN"

message['From'] = sender

message['To'] = receivers[0]

message['Subject'] = 'title'

#推荐使用html格式的正文内容,这样比较灵活,可以附加图片地址,调整格式等

with open('ce.html','r',encoding='utf-8') as f:

   content = f.read()

#设置html格式参数

part1 = MIMEText(content,'html','utf-8')

#添加一个txt文本附件

with open('文本.txt','r')as h:

   content2 = h.read()

#设置txt参数

part2 = MIMEText(content2,'plain','utf-8')

#附件设置内容类型,方便起见,设置为二进制流

part2['Content-Type'] = 'application/octet-stream'

#设置附件头,添加文件名

part2.add_header("Content-Disposition", "attachment", filename=("gbk", "", "测试结果.txt"))

#part2['Content-Disposition'] = 'attachment;filename="demo.txt"'

#添加照片附件

with open('无标题2.png','rb')as fp:

   picture = MIMEImage(fp.read())

   #与txt文件设置相似

   picture['Content-Type'] = 'application/octet-stream'

   picture['Content-Disposition'] = 'attachment;filename="picture.png"'

#将内容附加到邮件主体中

message.attach(part1)

message.attach(part2)

message.attach(picture)

#登录并发送

try:

   smtpObj = smtplib.SMTP()

   smtpObj.connect(mail_host,25)

   smtpObj.login(mail_user,mail_pass)

   smtpObj.sendmail(

       sender,receivers,message.as_string())

   print('success')

   smtpObj.quit()

except smtplib.SMTPException as e:

   print('error',e)


目录
相关文章
|
3月前
|
前端开发 JavaScript Java
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
本文介绍了一个结合SpringBoot和Python的实用功能,旨在监控iPhone 15的库存状态并通过邮件提醒用户。系统采用SpringBoot监听苹果官网API,解析JSON数据判断是否有货,并展示最近的库存记录。此外,还能自动触发Selenium+Python脚本实现自动化购买。文中详细介绍了技术栈、接口分析、邮件配置及自动化脚本的设置方法。该项目不仅适用于熟悉后端开发的人员,也适合回顾Layui和Jquery等前端技术。
54 0
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
|
4月前
|
监控 网络协议 网络安全
SMTP操作使用详解并通过python进行smtp邮件发送示例
SMTP操作使用详解并通过python进行smtp邮件发送示例
135 3
|
5月前
|
Windows Python
每日自动发邮件(Python +QQ邮箱 + Windows 10定时任务)
每日自动发邮件(Python +QQ邮箱 + Windows 10定时任务)
每日自动发邮件(Python +QQ邮箱 + Windows 10定时任务)
|
4月前
|
机器学习/深度学习 数据采集 自然语言处理
Python基于词袋模型特征和TFIDF特征进行支持向量机模型中文邮件分类项目实战
Python基于词袋模型特征和TFIDF特征进行支持向量机模型中文邮件分类项目实战
|
6月前
|
安全 数据安全/隐私保护 开发者
Python实现简单的邮件发送系统
Python实现简单的邮件发送系统
75 3
|
6月前
|
运维 Shell Linux
第十四章 Python发送邮件(常见四种邮件内容)
第十四章 Python发送邮件(常见四种邮件内容)
|
6月前
|
Python
Python自动化办公实战案例:文件整理与邮件发送
Python自动化办公实战案例:文件整理与邮件发送
83 0
|
6月前
|
监控 Python
Python监控主机是否存活,并发报警邮件
Python监控主机是否存活,并发报警邮件
|
6月前
|
数据安全/隐私保护 Python
Python Flask-Mail实现邮件发送
Python Flask-Mail实现邮件发送
104 0
|
6月前
|
存储 Python
终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了
终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了
79 0
下一篇
无影云桌面