Django 邮件推送 解决附件中文名字乱码
Django邮件功能,详情可看官方文档(https://docs.djangoproject.com/en/1.10/topics/email/).
最近做这个功能时遇到的问题,发送附件,收到后中文名字乱码,解决方法如下:
需要对文件名在header中进行编码处理,否则,收到的附件中文名字会乱码.
1 from django.core.mail import EmailMessage 2 from email.header import make_header 3 4 email = EmailMessage(subject, content, from_email, to) 5 # 文件路径 6 address = 'xxxxxxx' 7 text = open(address, 'rb').read() 8 file_name = os.path.basename(address) 9 # 对文件名字进行编码处理 10 b = make_header([(file_name, 'utf-8')]).encode('utf-8') 11 email.attach(b, text)
12 file_name.close() 13 email.send()
邮件服务可在settings.py里配置,如下:
1 # 是否使用协议ssl 或 tls 2 EMAIL_USE_SSL = False 3 # 邮件服务器,一般是smtp 4 EMAIL_HOST = 'smtp.xxx.com' 5 # 服务端口(邮件发送服务对应的端口) 6 EMAIL_PORT = xxx 7 # 用户名和密码 8 EMAIL_HOST_USER = 'xxx' 9 EMAIL_HOST_PASSWORD = 'xxxx'
posted on 2016-12-09 11:20 logicalsky 阅读(1100) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」