1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 你想要的完整解决Python smtplib使用163发送邮件时出现 •554 DT:SPM错误smtplib.S

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

时间:2021-05-05 18:03:38

相关推荐

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

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

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

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

思路:

诶,有意思了,我们是垃圾邮件,或者病毒了,哈哈,病毒不可能了,我的发送文本为一段文字,没有大量脚本,应该不是误杀病毒(以前看过WAF防火墙,那个真可以把有大量脚本标签的内容拦截),那就是垃圾邮件,但是以前写过java的smtp用的也是网易163没问题,那也不是邮件过于简单的问题,于是看了很多其他网友的反馈:

/weixin_41789943/article/details/82348946

这篇里面提到将message中放置的From与To的格式调整正确,而且必须填写真实邮箱

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

# 之前的message['From'] = Header("********<*********@>", 'utf-8') message['To'] = Header("*******<*********@>", 'utf-8')

# 成功后的message['From'] = Header("********<*********@>") message['To'] = Header("*******<*********@>")

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

# 之前的--===============1943985730==--Content-Type: multipart/mixed; boundary="===============1943985730=="MIME-Version: 1.0From: ********<*********@>To: ********<*********@>Subject: =?utf-8?b?UHl0aG9uIFNNVFAg6YKu5Lu25rWL6K+V?=

# 成功后的--===============1943985730==--Content-Type: multipart/mixed; boundary="===============1943985730=="MIME-Version: 1.0From: =?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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。