最近在学习Python于是自己写了个小脚本测试使用smtp发送邮件,一切ok后出现如下错误:

smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp1,GdxpCgCnKA4anORdnVRZAA--.986S2 1575263258,please see http://mail.163.com/help/help_spam_16.htm?ip=114.253.3.243&hostid=smtp1&time=1575263258')

意思就是发不了,错误代码554,内容为……这是网易给返回来的错误内容,我们进去康康

思路:
诶,有意思了,我们是垃圾邮件,或者病毒了,哈哈,病毒不可能了,我的发送文本为一段文字,没有大量脚本,应该不是误杀病毒(以前看过WAF防火墙,那个真可以把有大量脚本标签的内容拦截),那就是垃圾邮件,但是以前写过java的smtp用的也是网易163没问题,那也不是邮件过于简单的问题,于是看了很多其他网友的反馈:
https://blog.csdn.net/weixin_41789943/article/details/82348946
这篇里面提到将message中放置的From与To的格式调整正确,而且必须填写真实邮箱

然后就OK了,为什么?我们看看我之前此处的代码与成功后的:

# 之前的
message['From'] = Header("********<*********@163.com>", 'utf-8')
message['To'] = Header("*******<*********@qq.com>", 'utf-8')
# 成功后的
message['From'] = Header("********<*********@163.com>")
message['To'] = Header("*******<*********@qq.com>")

区别是差一个规定编码的部分,我们好心规定编码还成了问题?我们把这个message的相关部分打出来康康:

# 之前的
--===============1943985730==--Content-Type: multipart/mixed; boundary="===============1943985730=="
MIME-Version: 1.0
From: ********<*********@163.com>
To: ********<*********@qq.com>
Subject: =?utf-8?b?UHl0aG9uIFNNVFAg6YKu5Lu25rWL6K+V?=
# 成功后的
--===============1943985730==--Content-Type: multipart/mixed; boundary="===============1943985730=="
MIME-Version: 1.0
From: =?utf-8?q?***********=3C***********=40163=2Ecom=3E?=
To: =?utf-8?q?**********=3C**********=40qq=2Ecom=3E?=
Subject: =?utf-8?b?UHl0aG9uIFNNVFAg6YKu5Lu25rWL6K+V?=



我们看到这里心里大概就明白了两种写法的区别,在我们写上编码后我们发送到网易时它认为我们的邮箱名是无效的这是垃圾邮件(因为很多垃圾邮件就这么写,为了节省资源就给杀了),既然找到了问题的根本怎么解决就看自己的了~

你想要的完整解决Python smtplib使用163发送邮件时出现 •554 DT:SPM错误smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp5,HdxpC相关推荐

  1. 解决python 保存json到文件时 中文显示16进制编码的问题

    解决python 保存json到文件时 中文显示16进制编码的问题 参考文章: (1)解决python 保存json到文件时 中文显示16进制编码的问题 (2)https://www.cnblogs. ...

  2. 成功解决python中出现的IndentationError: expected an indented block的错误

    成功解决python中出现的IndentationError: expected an indented block的错误 目录 解决问题 解决思路 解决方法 解决问题 当在python中出现这个错误 ...

  3. 解决微信小程序反编译时 $gwx is not defined 错误。

    因为过节在家编写自己的一个工具小程序,结果上班后发现没有拷贝到U盘上,但是我的微信里预览过开发版,就想反编译获取自己的代码-- 环境 & 工具 win10 + node.js + wxappU ...

  4. 完美解决Python套接字编程时TCP断包与粘包问题

    首先,来看一个代码,使用TCP协议,发送端发送一句话,接收端接收并显示,运行完全正常. 接下来,把客户端代码稍微修改一下,连续发送多个数据, 按照正常的想法,在服务端输出的信息应该是分为多行的,这样才 ...

  5. 解决 python pip install安装速度慢| 版本低|跨过个别错误包

    pip2 install keras -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 跨过个别错误包: pip批量安装跳 ...

  6. 解决Python中PyCharm导入模块时,模块名下出现红色波浪线的问题

    在博主第一次在PyCharm中导入模块时,模块名下出现红色波浪线,不影响程序执行,但强迫症忍不了 以下是解决办法 Let's do it ... 进入设置,找到Console下的Python Cons ...

  7. 解决Windows10、11 远程桌面时提示用户名、密码错误的情况(实际用户名、密码正确)

    问题描述: Windows10.11 远程桌面时,提示用户名.密码错误,实际用户名.密码都正确,这种情况一般出现在操作系统以本地身份安装,后登录微软账号,并启用了PIN等Windows Hello登录 ...

  8. 解决 Oralce 执行set autotrace on时的SP2-0618和SP2-0611错误

    在Oracle sqlplus查看执行计划时. 我们一般使用 set autotrace on; 接下来的sql语句就会自动显示execution plan. 但是有时再执行set autotrace ...

  9. 想成为别人眼里的Python大牛,就必不可少的书单

    在最新一期的话题中,80%读者认为Python是最好的编程语言,知乎上类似的问题也很多,例如如何入门Python?如何3个月内入门Python?虽然现在可以学习的Python途径很多,但是想要打好牢固 ...

最新文章

  1. 【linux】Valgrind工具集详解(二):入门
  2. 一个苹果手机移动电源也能让他拽得跟二五八万似的
  3. sql server 在占用服务器内存居高不下怎么办【转】
  4. Lua bind 和 conf 实现
  5. linux mpstat命令
  6. Boost:递归容器的测试程序
  7. kafka原理_P8架构师带你参透Kafka:设计原理、消息存储、消息消费原理等等
  8. poco c++ 开发指南_掌握这个框架,你将会开发通杀全平台的万能爬虫
  9. Asp Net Core 5 REST API 使用 RefreshToken 刷新 JWT - Step by Step(三)
  10. Scikit-learn的分类器算法:k-近邻及案例
  11. python模块化编程_Python模块化编程
  12. ORB-SLAM2初步(跟踪模块)
  13. 做副业(初创业),逻辑其实很简单,无非这两个方向
  14. easymock使用方法_EasyMock最终方法– PowerMock,JUnit 4,TestNG
  15. 如何使用dos启动mysql数据库_如何使用dos命令启动停止mysql数据库?
  16. MQTT在线公共的MQTT服务器
  17. echarts实现全国及各省市地图(内附地图json文件)
  18. bdg2bw(macs2的peak要修正坐标)
  19. Python基础之Flask快速入门2
  20. SpringFox 学习

热门文章

  1. 导出Excel之单元格插入图片
  2. Web安全原理剖析(十八)——XSS平台及漏洞修复建议
  3. 我的世界java版和windows版_我的世界基岩版与Java版有什么区别?
  4. MyBatis 配置映射Mapper.xml以及驼峰
  5. 【Android】XUtils——你值得拥有!
  6. ubuntu 20.04搭建elasticsearch-7.6.2
  7. 阿里云acp考试通过分数 阿里云acp考试易错题解析
  8. 新来了个同事,代码命名规范是真优化呀!代码如诗!
  9. 世界500强常用的管理方法和工具
  10. buu [NCTF2019]Keyboard