python发送带中文附件名的邮件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 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) |
【推荐】国内首个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 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」