【问题标题】:Smtp Email FailureSMTP 电子邮件失败
【发布时间】:2020-04-30 16:51:25
【问题描述】:

我是 Python 新手,正在尝试测试一个简单的 Python 脚本来向自己发送电子邮件。我观看了一个视频教程,完成后我不断收到此错误消息:

我尝试使用 PIP 安装 Smtplib,但我也一直收到错误

错误:找不到满足 smtplib 要求的版本(来自版本:无)

错误:没有为 smtplib 找到匹配的分发版

我在网上寻求任何帮助,但我真的是新手,所以我不太确定自己在做什么。

我的代码:

import os
import smtplib

EMAIL_ADRESS = os.environ.get('EMAIl_ADRESS')
EMAIl_PASSWORD = os.environ.get('EMAIl_PASSWORD')

with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
    smtp.ehlo()
    smtp.starttls()
    smtp.ehlo()

    smtp.login(EMAIL_ADRESS, EMAIl_PASSWORD)

    subject = 'Testing python emails'
    body = 'This is a test of the python email script'


    msg = f'Subject: {subject}\n\n{body}'

    smtp.sendmail(EMAIL_ADRESS, 'gonetogrif@gmail.com', msg)
    print("email sent")

我使用环境变量作为我的电子邮件和密码

完整的错误消息:gyazo.com/32aa4c8f51922658afc3aaf7a9797d06

【问题讨论】:

  • smtplib 是一个内置库,所以 pip 不会安装它 - 第一次回溯还有更多内容吗?
  • 错误信息似乎不完整。
  • 这是完整的错误信息,我可能忘记复制 gyazo.com/32aa4c8f51922658afc3aaf7a9797d06
  • 我发现了 1 个问题,我有一个之前命名为 email.py 的 .py 文件,我删除了它并解决了这个问题,但另一个出现说“smtplib.SMTPAuthenticationError: (535, b '5.7.8 用户名和密码不被接受。了解详情\n5.7.8 support.google.com/mail/?p=BadCredentialsa138sm375577pfd.32 - gsmtp')"

标签: python email


【解决方案1】:

您的代码没有错,但是如果您想从您的电子邮件地址发送电子邮件,则需要允许“不太安全的应用访问”。

https://myaccount.google.com/lesssecureapps

如果启用此选项,您将接收/发送电子邮件。

【讨论】:

  • 感谢您的建议,我正在使用 2fa 并添加了应用密码,但问题仍然存在
猜你喜欢
  • 2017-02-09
  • 2016-02-14
  • 2014-11-01
  • 1970-01-01
  • 2021-11-27
  • 2016-10-30
  • 1970-01-01
  • 2011-05-18
  • 2013-10-15
相关资源
最近更新 更多