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