首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为python smtplib获取“网络不可达”

为python smtplib获取“网络不可达”
EN

Stack Overflow用户
提问于 2020-12-27 14:33:34
回答 1查看 291关注 0票数 0

我试着为django应用设置电子邮件确认,在几个失败的步骤之后,我尝试了简单的python模块使用smtplib (通过科里的tutorial),但在教程的第一部分,当他收到电子邮件后,我在大约30秒的等待后得到了这个错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "main.py", line 10, in <module>
    with smtplib.SMTP('smtp.gmail.com', port) as smtp:
  File "/usr/lib/python3.8/smtplib.py", line 253, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python3.8/smtplib.py", line 339, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python3.8/smtplib.py", line 308, in _get_socket
    return socket.create_connection((host, port), timeout,
  File "/usr/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

这是代码

代码语言:javascript
复制
with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
        smtp.ehlo()
        smtp.starttls()
        smtp.ehlo()

        smtp.login(username, password)

        subject = 'Test'
        body = 'Testing smtp library'

        msg = f'Subject: {subject}\n\n{body}'
        smtp.sendmail(username, username, msg)

我正在使用双因素身份验证和应用程序密码,我已经检查了16位密码,但是我不知道是否可以使用这些凭据登录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-27 15:24:05

问题是我正在使用VPN (我不知道为什么,因为我是从VPN的位置登录的),但是我遇到了另一个问题,在那之后我无法登录,然后又得到了另一个错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "main.py", line 12, in <module>
    smtp.login(username, username)
  File "/usr/lib/python3.8/smtplib.py", line 734, in login
    raise last_exception
  File "/usr/lib/python3.8/smtplib.py", line 723, in login
    (code, resp) = self.auth(
  File "/usr/lib/python3.8/smtplib.py", line 646, in auth
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials k18sm34466285edx.18 - gsmtp')

所以我尝试了另一种选择。我使用的是yagmail,使用与我使用的相同的凭据就可以了。所以我猜问题出在smtplib没有被gmail接受。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65463415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档