【问题标题】:Python - Connect to Gmail and send mail - Error 534 InvalidSecondFactorPython - 连接到 Gmail 并发送邮件 - 错误 534 InvalidSecondFactor
【发布时间】:2020-07-02 21:07:18
【问题描述】:

我想在我的 python 代码中包含通过 gmail 发送通知邮件。

我按照所有步骤去做:

  • 导入 smtplib
  • 启用安全性较低的应用程序
  • 等待 1 天
  • 设置二次验证权限
  • 创建 16 位应用密码
  • 用 16 位应用密码更改我的 gmail 密码
  • 登录我的 gmail 帐户
  • 解锁显示验证码
  • 在 10 分钟内运行代码

我仍然遇到同样的错误:

(534,b'5.7.9 需要特定于应用程序的密码。了解更多信息:\n5.7.9 https://support.google.com/mail/?p=InvalidSecondFactorh25sm8001063qkg.87 - gsmtp')

这是我的代码:

import smtplib, ssl

port = 465  # For SSL or 465
smtp_server = "smtp.gmail.com"
sender_email = "my_mail@gmail.com"  # Enter your address
receiver_email = "my_mail@gmail.com"  # Enter receiver address
password = '16digtisapppass' # i've checked I can log in to my gmail account with it 
message = """\
Subject: Hi there

This message is sent from Python."""

try:
    server = smtplib.SMTP_SSL('smtp.gmail.com', port)
    server.ehlo()
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message)
except Exception as e:
    print(e)

# or

context = ssl.create_default_context()

with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message)

我已经阅读了这些其他帖子:

我不是专业的编码员,所以也许我缺少一些简单的东西。

我不知道我还能做什么。有人可以帮我吗?

【问题讨论】:

  • Google 似乎阻止了从不太安全的来源登录您的帐户的尝试。按照此处的说明启用访问:stackoverflow.com/questions/16512592/…
  • 还要检查您的密码是否正确。
  • 谢谢你们的cmets。但是stackoverflow链接指向我已经发布的相同。我已经列举了它建议的所有步骤,但它一直不起作用。密码没问题,我是故意更改的,显示的错误是另一个错误。此外,我通过从我的代码中复制 16 位密码并将其粘贴到密码输入框中来登录我的 gmail 帐户,并且它有效。
  • 我很高兴它成功了,我们最终到达了那里。

标签: python gmail smtplib


【解决方案1】:

gmail 端口是 587

您使用的是 AT&T 端口 465 只需替换为 587port 。

【讨论】:

    【解决方案2】:

    问题是“两步验证”在您的帐户中。

    解决方案:

    1. 关闭两步验证并在您的应用中使用您的普通密码帐户(有关详细信息,请参阅此link
    2. 使用应用程序密码登录,应用程序密码是一个 16 位数的密码,它允许安全性较低的应用程序或设备访问您的 Google 帐户。应用密码只能用于已开启两步验证的帐户(请参阅此linklink2)。

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 2018-08-14
      • 1970-01-01
      • 2013-03-11
      • 2020-08-26
      • 2015-11-14
      • 2018-05-31
      • 2016-09-03
      • 2012-05-09
      相关资源
      最近更新 更多