smtplib.SMTPDataError: 554, 'DT:SPM

#coding: utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = 'xxxx@163.com'
receiver = 'xxxx@qq.com'
subject = '放假通知'
smtpserver = 'smtp.163.com'
username = ''
password = ''

msg = MIMEText('大家关好窗户','plain','utf-8')#中文需参数‘utf-8',单字节字符不需要
msg['Subject'] = Header(subject, 'utf-8')
msg['From'] = 'Tim<xxxx@163.com>'  
msg['To'] = "xxxx@qq.com"
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()


只赋值了msg['Subject'], 没有赋值msg['From'], msg['To'],导致出现554情况,更改了后就好了。

注意MIMEText初始化的时候,中文的第二个参数要用'plain',我用'text',中文就显示不出来。

msg['From'] 中人名为Tim,会和下面对应起来。



版权声明:本文为smart55427原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。