smtplib.SMTPDataError: (554, b'D
2019-01-23 本文已影响0人
天才一般的幼稚
问题描述:今天想做一个发邮件的小功能。在看完教程之后自己写了一小段,一直报如题的错误。
smtplib.SMTPDataError: (554, b'DT:SPM 126 smtp6,j9KowABH6QtCTkdc0WH6AA--.267S2 1548176964,please see http://mail.163.com/help/help_spam_16.htm?ip=122.96.40.112&hostid=smtp6&time=1548176964')
找了好久,大家都在说是由于没有写message['from']和message['to']而被当成垃圾邮件过滤掉了。另外,在写具体收件人和寄件人时,需要写全,也就是把邮件地址包含进去,否则也没有用。
解决方案:
sender = 'wusonglin12138@126.com'
receivers = uemail1
message = MIMEText('手写数字识别', 'plain', 'utf-8')
message['Subject'] = Header('手写数字识别', 'utf-8')
message['From'] = 'wsl'+'<wusonglin12138@126.com>'
message['To'] = '' + '<' + uemail1 + '>'
smtp = smtplib.SMTP('localhost')
smtp.connect('smtp.126.com')
smtp.login('wusonglin12138@126.com', 'wsl83918543')
# # smtp.send_message(message, sender, receivers)
smtp.sendmail(sender, receivers, message.as_string())
smtp.quit()
收到邮件
补:没有收到邮件记得在垃圾箱里找找,邮箱有过滤机制,有些诸如验证码之类的敏感词容易被过滤。