python 3.7中通过smtp发送邮件属性错误

问题描述 投票:0回答:1

我在这个问题中隐藏了ID和密码。但是,gmail密码是在之后生成的 打开两步验证并生成应用程序密码。

错误-- 属性错误:模块“smtplib”没有属性“SMTP”

import smtplib

email = "*****@gmail.com"
password = "*****"
with smtplib.SMTP("smtp.gmail.com", port=587) as connection:
    connection.starttls()
    connection.login(user=email, password=password)
    connection.sendmail(from_addr=email,
                        to_addrs="*****@yahoo.com",
                        msg="Subject:Hello\n\nThis is the body of the email"
                        )
python smtp python-3.7 smtplib
1个回答
0
投票

当 Python 发现与

smtplib
模块的循环依赖时,通常会发生此错误。

如果您的Python脚本名为

smtplib.py
email.py
,Python会在执行
smtplib
库的导入语句时尝试导入您的文件。

因此,它创建了一个部分初始化的模块,如果您的脚本没有名为 smtp 的属性,您将遇到此错误。

解决方案

将发送 python 脚本的电子邮件重命名为除

smtplib.py
email.py

之外的名称
© www.soinside.com 2019 - 2024. All rights reserved.