SMTP

python发邮件报错SMTP AUTH extension not supported by server."

在login(username,password)之前添加
smtp.ehlo()
smtp.starttls()

d ={'smtp_server': '','smtp_email': '','smtp_helo': '','smtp_port': '25',}
e = Email(d)
e.smtp = smtplib.SMTP(e.smtp_server,e.smtp_port)
e.smtp.ehlo()
e.smtp.starttls() 
e.smtp.helo(e.smtp_helo)
e.smtp.set_debuglevel(1)
e.smtp.login('username','password')

还有一种情况是客户环境的邮箱配置限制了helo()指令,可以尝试注释掉解决问题

还有一种情况是客户环境限制了starttls 把这行注释了试下

多人员发送(中文) 邮件客户端显示异常,多信息粘连

msg['To']时 不能简单的传入,如果包含中文,需要通过Header对象进行编码

def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr((Header(name, 'utf-8').encode(), addr))

在msg['From'] msg['To'] 都加上 _format_addr
原文地址:https://www.cnblogs.com/cizao/p/11990103.html