Python 新手,GMail SMTP 错误
问题描述
我正在为自己编写一个简单的 sendmail 函数,但我不断收到此错误:
I am writing a simple sendmail function to myself and I keep getting this error:
NameError: 名称SMTPException"未定义
NameError: name 'SMTPException' is not defined
我的代码有什么问题?有什么建议吗?
What is wrong with my code? Any suggestions?
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 中,您需要通过为其模块添加前缀来完全限定名称:
In Python, you will need to fully qualify the name by prefixing it with its module:
except smtplib.SMTPException:
这是真的,除非您专门导入非限定名称(但我不建议您为您的程序这样做,只是显示可能的情况):
This is true unless you specifically import the unqualified name (but I wouldn't recommend doing this for your program, just showing what's possible):
from smtplib import SMTPException
相关文章