【发布时间】:2017-11-05 09:03:59
【问题描述】:
我正在尝试通过电子邮件发送我的确切错误消息,但它似乎没有发送任何内容。我已删除 try 块,但未显示任何错误。我尝试了以下方法:
try:
#Value here
except OSError as e:
traceback.print_exc()
sender = "h####@gmail.com"
receiver = ["a#####.com"]
message = traceback.print_exc()
try:
session = smtplib.SMTP('smtp.gmail.com', 587)
session.ehlo()
session.starttls()
session.ehlo()
session.login(sender,'dadwadwa')
session.sendmail(sender,receiver,message)
session.quit()
except smtplib.SMTPException as e:
print(e)
【问题讨论】:
-
这段代码有两个部分:获取字符串格式的回溯和发送电子邮件。请把这些部分分开,只问提出问题的部分。对我来说,您的代码示例有效,并发送了一封带有合理文本的电子邮件。
-
你能以交互方式运行命令并检查输出吗? login 和 sendmail 都给出了相当描述性的输出。
-
.sendmail需要一个收件人地址列表。你的receiver变量有这种格式吗? -
@VPfB 我现在得到一个输出。它给了我:(535,b'5.7.8 用户名和密码不被接受。了解更多信息:\n5.7.8 support.google.com/mail/?p=BadCredentials e17sm18346476pfb.53 - gsmtp')
-
我认为您的问题是 Gmail。特别是验证码。使用其他提供商,因为代码对我来说没问题。
标签: python python-3.x email error-handling