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

最近在学习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?=

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

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
smtplib是一个Python的库,可以用来发送邮件。参考中的代码展示了使用smtplib发送邮件的一般步骤,包括创建SMTP对象、连接服务器、登录邮箱以及发送邮件。但有候可能会遇到无法发送邮件的问题。 通常,无法发送邮件的原因可能有以下几种情况: 1. 邮件服务器连接问题:确保你的电脑能够正常连接到邮件服务器,并且端口号和服务器地址设置正确。引用中的代码修改了端口号为465,可以尝试使用该端口号。 2. 邮箱权限问题:请确保你提供的邮箱账号和密码是正确的,并且具有发送邮件的权限。如果是某些邮箱(如163邮箱)可能需要使用授权码进行登录。 3. 邮件内容问题:确保你设置了正确的邮件内容,包括邮件主题、发送方和接收方等信息。参考中的代码展示了如何设置邮件信息。 如果你仍然无法发送邮件,可能是由于其他原因,例如网络问题、防火墙限制或邮箱设置问题。你可以尝试使用其他的邮箱账号、更换网络环境或联系邮箱服务提供商以获得进一步的帮助。 请记住,在使用smtplib发送邮件,确保你的代码符合邮箱服务提供商的安全策略,并遵守相关的使用条款和规定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [python使用smtplib模块发送邮件失败问题](https://blog.csdn.net/qq_35910317/article/details/124148485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [解决Python阿里云smtplib发送邮件不成功问题](https://blog.csdn.net/weixin_44786530/article/details/123777691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值