问题

python 的 smtplib 模块,使用 smtp.qq.com 发邮件时提示smtplib.SMTPResponseException: (-1, b'\x00\x00\x00')错误,QQ SMTP 返回了非标准响应。但即使有错误,还是能发送成功。

示例代码如下:

with smtplib.SMTP_SSL(server, port) as smtp:
    smtp.login(username, password)
    smtp.send_message(msg)

解决

解决这个非标准响应的错误也很简单,只需要加上smtp.quit()即可。比如:

with smtplib.SMTP_SSL(server, port) as smtp:
    smtp.login(username, password)
    smtp.send_message(msg)
    smtp.quit()