【问题标题】:Email an error message with Python [Username and Password not accepted]使用 Python 发送错误消息 [不接受用户名和密码]
【发布时间】: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


【解决方案1】:

相当确定更简单的方法来完成您的要求。
大致如下:

def raise_email(self, e):
    SendEmail()
    raise e

【讨论】:

    猜你喜欢
    • 2015-11-13
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 2020-11-08
    • 2018-02-07
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    相关资源
    最近更新 更多