python SMTP发送带图片的邮件时,报TypeError: Could not guess image MIME subtype错误的解决办法
1、源码如下:
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header# 第三方SMTP服务
mail_host = "smtp.exmail.qq.com"
mail_user = "xxxx@xxx.com"
mail_pass = "xxxx"# 邮件发送/接受地址
sender = "xxxx@xxx.com"
receivers ="xxxx@xxx.com"message = MIMEMultipart('related')
message['From'] = Header("发送者", 'utf-8')
message['To'] = Header("接收者", 'utf-8')
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')msgAlternative = MIMEMultipart('alternative')
message.attach(msgAlternative)message_msg = """
<p>Python 邮件发送测试...</p>
<p><a href="http://www.baidu.com">这是一个链接</a></p>
<p>图片示例:</p>
<p><img src="cid:img1"></p>
"""msgAlternative.attach(MIMEText(message_msg, 'html', 'utf-8'))# 指定图片为当前目录
fp = open('xxxx.png', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()# 定义图片ID,再HTML文本中引用
msgImage.add_header('Content-ID', '<img1>')
message.attach(msgImage)try:smtpObj = smtplib.SMTP()smtpObj.connect(mail_host, 25)smtpObj.login(mail_user, mail_pass)smtpObj.sendmail(sender, receivers, message.as_string())print("邮件发送成功")
except smtplib.SMTPException:print("Error: 无法发送邮件")
2、运行后,报TypeError: Could not guess image MIME subtype错误:
3、解决办法:
在指定图片的代码中,添加_subtype参数:
msgImage = MIMEImage(fp.read(), _subtype=False)
4、问题解决:
python SMTP发送带图片的邮件时,报TypeError: Could not guess image MIME subtype错误的解决办法相关推荐
- python中发送带附件的邮件,python SMTP实现发送带附件电子邮件
本文实例为大家分享了python SMTP发送带附件电子邮件的具体代码,供大家参考,具体内容如下 可采用email模块发送电子邮件附件.发送一个未知MIME类型的文件附件其基本思路如下: 1. 构造M ...
- 利用Jmail发送带附件的邮件时乱码的解决方案
今天在利用Jmail发送带附件的邮件时,一直收不到附件,而是得到一些"乱码"如下:This is a multipart message in MIME format. ----N ...
- Python SMTP 发送带附件电子邮件
这里写链接内容 可采用email模块发送电子邮件附件.发送一个未知MIME类型的文件附件其基本思路如下: 1. 构造MIMEMultipart对象做为根容器 2. 构造MIMEText对象做为邮件显示 ...
- 【Python实用工具】巧妙利用Python实现发送带附件的邮件
Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...
- java发送带图片的邮件代码
图片目录: 实现代码: /*** 发送带附件的mail** @param subject 邮件标题* @param to 收件人列表* @param cc 抄送人列表* @param bodyText ...
- 利用navicat向mysql数据库导入数据时出现1062 - Duplicate entry '0' for key 'PRIMARY'错误的解决办法
1062 - Duplicate entry '0' for key 'PRIMARY',明明导入的数据值不一样,但错误提示主键已存在,不能插入.不知道为什么有些数据插入不成功,原因我也不知道. 解决 ...
- python3发送邮件_Python3使用SMTP发送带附件邮件
一.设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:[一]https://www.jb51.net/article/142220.htm 二.使用Python3 发送带附件的邮件 ...
- 使用Python的smtplib模块发送带附件的邮件
上一篇文章<使用Python的smtplib模块发送简单邮件>介绍了调用smtplib模块发送包含简单内容的邮件,本文继续学习参考文献1中的发送带附件的邮件的示例代码,同时由于参考文献 ...
- python菜谱发送到邮箱_Python菜谱5:发送带附件的邮件
我们平时需要使用 Python 发送各类邮件,这个需求怎么来实现?答案其实很简单,smtplib 和 email库可以帮忙实现这个需求.smtplib 和 email 的组合可以用来发送各类邮件:普通 ...
- python发送qq邮件_python使用SMTP发送qq或sina邮件
python使用qq邮箱(个人邮箱)发送邮件需开启qq邮箱的SMTP服务 在设置中开启pop3/SMTP服务,返回的密码就是之后代码中登录使用账户密码(在完整代码中标识了出来) 之后出现如下错误 复制 ...
最新文章
- Java设计模式-回调函数和观察者模式
- windows下django学习笔记(二)--HelloWorld
- vba传值调用_小白关于VBA调用Sub传递参数之传值与传址的思考
- mysql表格导入java_使用java技术将Excel表格内容导入mysql数据库
- 身体有恙,此段时间BLOG暂停更新
- 神策数据受邀参加全国 APP 个人信息保护监管会
- 微信小程序 保存持久化cookie
- python3列表_Python3 列表List(十一)
- c语言变量加常量,C语言(二)---常量与变量(示例代码)
- 会议系统m900服务器网口灯,【中兴视频会议多点控制单元ZXV10 M900-64MA 今日特卖】价格,厂家,视讯会议系统-搜了网...
- 计算机网络机械特性是指,《计算机网络与通信》第1——3章 习题及思考题
- 苹果手机壳_潮牌刺绣苹果8 Plus手机壳,让爱机焕然一新
- 从零开始系统学习区块链
- Python基础教程,Python入门教程(超详细)
- 多模态知识图谱构建和推理技术 王萌 东南大学
- matlab 最小二乘解超定方程,matlab 超定方程 最小二乘解
- java地铁最短_南京地铁最短路径以及最少换乘算法C++不用类
- 小飞升值记——(4)
- hihocoder 1224 赛车
- js隐藏显示div页面方法