python - Python 新手,GMail SMTP 错误

标签 python smtp gmail smtplib

我正在为自己编写一个简单的 sendmail 函数,但我不断收到此错误:

NameError: 名称 'SMTPException' 未定义

我的代码有什么问题?有什么建议吗?

import smtplib

sender = "user@gmail.com"
receiver = ["user@gmail.com"]
message = "Hello!"

try:
    session = smptlib.SMTP('smtp.gmail.com',587)
    session.ehlo()
    session.starttls()
    session.ehlo()
    session.login(sender,'password')
    session.sendmail(sender,receiver,message)
    session.quit()
except SMTPException:
    print('Error')

最佳答案

在 Python 中,您需要通过在名称前加上其模块来完全限定名称:

except smtplib.SMTPException:

除非您专门导入非限定名称,否则这是正确的(但我不建议为您的程序这样做,只是展示可能的情况):

from smtplib import SMTPException

关于python - Python 新手,GMail SMTP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13115724/

相关文章:

python - brew install python3 没有安装 pip3

python - NLTK 正则表达式导致日期和货币的 pos_tag 输出错误

python - 如何防止 Spyne 包装我的响应?

c# - 纯文本 mime 电子邮件发送至 MailMessage

php - 这里有没有人试过 PEAR

json - 如何在我的网站中获取 Gmail 电子邮件

python - 简单的硬编码算法是否被缓存/编译掉了?

javascript - 如何在 Haraka 上解析电子邮件?

phpmailer 发送邮件后报错

gmail - Gmail 中的 HTML 电子邮件 - CSS 样式属性已删除