导语:学习到使用Python发送带附件的邮件,但收件人收到的附件格式是bin,附件名称也不是filename写的名称。

1、效果如下:

2、解决办法: 将 att1['Content-Disposition'] = 'attachment;filename = "星测试附件.txt"'替换成 att1.add_header('Content-Disposition', 'attachment', filename='星测试附件.txt'),即可完美解决

3、源码如下:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Headersender = '××××@zhiqi.cn'  # 发送邮件的人
receivers = ['××××@zhiqi.com']  # 接收邮件人# 第三方SMTP服务
mail_host='smtp.exmail.qq.com'  # 设置发送服务器
mail_user = '××××@zhiqi.cn'  # 登录邮箱名
mail_pass = '××××'  # 口令(授权码)# 创建一个带附件的实例
message = MIMEMultipart()
message['From'] = Header(sender,'utf-8') # 发送者
message['To'] = Header('××××','utf-8')  # 接收者
subject = '发送带附件的邮件测试,勿回'   # 发送邮件标题
message['Subject'] = Header(subject,'utf-8')# 邮件正文内容
mail_msg = '这个一个发送带附件的测试邮件,请忽略......' # 发送邮件内容
# 三个参数:第一个是文本内容,第二个plain设置文本格式,第三个utf-8设置编码
message.attach(MIMEText(mail_msg,'plain','utf-8'))  # 发送邮件正文(纯文本)# 构造附件1,传送当前目录下的文件
att1 = MIMEText(open('test.txt','rb').read(),'base64','utf-8')
att1['Content-Type'] = 'application/octet-stream'
# 这里的filename是指邮件中显示的附件名称
# att1['Content-Disposition'] = 'attachment;filename = "星测试附件.txt"'
att1.add_header('Content-Disposition', 'attachment', filename='星测试附件.txt')
message.attach(att1)# 构造附件1,传送当前目录下的文件
att2 = MIMEText(open('冒泡排序.py','rb').read(),'base64','utf-8')
att2['Content-Type'] = 'application/octet-stream'
# 这里的filename是指邮件中显示的附件名称
att2.add_header('Content-Disposition', 'attachment', filename='冒泡排序.py')
message.attach(att2)try:smtpObj = smtplib.SMTP_SSL(mail_host,465)  # 发送服务器的端口号smtpObj.login(mail_user,mail_pass)smtpObj.sendmail(sender,receivers,message.as_string())print('邮件发送成功')
except smtplib.SMTPException:print('邮件发送失败')

Python 发送带附件的邮件 发出去的附件格式就成bin相关推荐

  1. python发送带表格的邮件_PYTHON自动发送报表邮件

    要实现上述的功能的话我们需要以下几步:1.做好报表模板 2.更新报表数据 3.发送报表邮件 下面我们就用一个例子来给大家演示一下: 1.报表模板 我们选用一份保险公司每天完成保单的数据进行模板制作,要 ...

  2. python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)

    简介 上一篇,我们虽然已经将生成的最新的测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们的代码,实现可以发送带有附件的邮件.发送带附件的需要导入另外一个模块 ...

  3. python headr方法_对Python发送带header的http请求方法详解

    简单的header import urllib2 request = urllib2.Request('http://example.com/') request.add_header('User-A ...

  4. python使用openCV加载图像、并将BGR格式转换成HSV格式、定义HSV格式中需要分离颜色的掩码(掩模)区间(mask)、并使用mask信息进行颜色分离、BGR格式的图像转化为RGB、并可视化

    python使用openCV加载图像.并将BGR格式转换成HSV格式.定义HSV格式中需要分离颜色的掩码(掩模)区间(mask).并使用mask信息进行颜色分离.将BGR格式的图像转化为RGB.可视化 ...

  5. python 发送带附件邮件到钉钉邮箱+邮件内容带有表格

    import smtplib import pandas as pd # smtplib这个模块是管发邮件 from email.mime.text import MIMEText # 构造邮件内容 ...

  6. python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)

    简介 前边几篇,已经教小伙伴们掌握了如何生成HTML的测试报告,那么生成测试报告,我们也不能放在那里不管了,这样即使你报告在漂亮,领导也看不到.因此如果想向领导汇报工作,不仅需要提供更直观的测试报告. ...

  7. java发送带图片的邮件代码

    图片目录: 实现代码: /*** 发送带附件的mail** @param subject 邮件标题* @param to 收件人列表* @param cc 抄送人列表* @param bodyText ...

  8. python的脑安装了ffmpeg_python脚本实现音频m4a格式转成MP3格式

    群里看到有人询问:谁会用python将微信音频文件后缀m4a格式转成mp3格式,毫不犹豫回了句:我会.然后就私下聊起来了 解决方法介绍如下: 工具:windows系统,python2.7,转换库ffm ...

  9. python接口自动化(三十一)--html测试报告通过邮件发出去——下(详解)

    简介 本篇总结了 QQ (SSL)邮箱和 163(非SSL) 邮箱发送邮件,专治各种不行,总之看完这篇以后麻麻再也不用担心我的邮件收不到了.以下代码兼容 python2 和 python3,运行无异常 ...

最新文章

  1. 【转】流言终结者:Windows系统与Linux系统之间的8个流言
  2. OnlineJudge在线判题系统
  3. python和mt4的区别_MT4和MT5有什么区别?
  4. html动画用css还是js,javascript与css3动画结合使用小结
  5. OSS网页上传和断点续传(OSS配置篇)
  6. 数1的个数(信息学奥赛一本通-T1095)
  7. Android零碎要点---eclipse两个小技巧
  8. python分类与原理以及国内好的发展方向
  9. unity, Invoke延迟执行
  10. 什么软件可以测试电脑硬件兼容性,Windows 7常用48款软件兼容性测试
  11. PB级(大数据)的来源
  12. mysql如何查看表的大小_mysql 如何查看表的大小
  13. 从零开始学Android!渣本毕业两年经验,附超全教程文档
  14. 09.第十章.项目沟通和干系人管理
  15. 【LeetCode - 248】中心对称数 III
  16. html中如何把两行合并单元格,css合并两列单元格内容
  17. 【Collection、List、泛型、数据结构】
  18. Echarts legend组件 图例默认选中状态
  19. go 语言最详细的入门教程
  20. 腾讯多媒体实验室画质增强技术的前沿应用

热门文章

  1. 求100以内的全部素数
  2. 计算机专业英语第六单元,计算机专业英语 (六)(示例代码)
  3. #光伏发电相关学习课程2 有关光伏电池的建模与仿真
  4. 【转】贾扬清:希望Caffe成为深度学习领域的Hadoop
  5. Linux系统中文件被删除后的恢复方法(ext4)
  6. 看大神如何手工低成本制作一个超级灵活的助焊台!
  7. 团队那些事~和历史经典人物学习向上管理
  8. Android之GestureDetector-简单手势操作及通过手势缩放图片
  9. 拯救C盘:转移虚拟内存
  10. xdpyinfo命令找不到_无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过...