python3使用smtplib和MIME发送邮件失败
代码:
from smtplib import SMTPfrom email.mime.text import MIMETextfrom email.header import Headerdef send_email(SMTP_host, from_addr, password, to_addrs, subject, content): email_client = SMTP(SMTP_host) email_client.login(from_addr, password) # create msg msg = MIMEText(content,'plain','utf-8') msg['Subject'] = Header(subject, 'utf-8')#subject msg['From'] = 'main<xxxxx@163.com>' msg['To'] = "xxxxx@126.com" email_client.sendmail(from_addr, to_addrs, msg.as_string()) email_client.quit()if __name__ == "__main__": send_email("smtp.163.com","xxxxx@163.com","password","xxxxx@126.com","test","hellow")
运行错误:
Traceback (most recent call last):... File "D:/bioinformatics/python脚本/mai.py", line 14, in send_email email_client.sendmail(from_addr, to_addrs, msg.as_string()) File "D:\软件\python\lib\smtplib.py", line 799, in sendmail raise SMTPDataError(code, resp)smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp8,DMCowACX58anaFJX9+uwAA--.20172S2 1465018537,please see http://mail.163.com/help/help_spam_16.htm?ip=219.143.13.117&hostid=smtp8&time=1465018537')
在网上找了很多方法,把防火墙也关了,修改了发件人收件人名称,但还是没有效果,真的不知道是什么原因。。
解决方案
最后终于还是找到解决办法了:
邮件主题为‘test’的时候就会出现错误,换成其他词就好了。。我也不知道这是什么奇葩的原因