【问题标题】:Error when connecting to Google Mail over SMTP using smtplib in Python在 Python 中使用 smtplib 通过 SMTP 连接到 Google Mail 时出错
【发布时间】:2013-02-09 20:48:20
【问题描述】:

我的问题是,当我运行以下代码时,我得到一个 WinError 10061,从我的所有搜索来看,这似乎是由于没有正确设置外国机器,但我认为谷歌有为gmail照顾,所以错误在我这边。我能找到的所有其他示例都是使用 localhost 并出现此错误,这是因为他们没有设置本地邮件服务器。这个问题还会出现这种情况吗?我确定我遗漏了一些明显的东西。此外,错误代码是完整的。提前谢谢!

import smtplib

fromaddr = 'email@email.com'
toaddrs  = 'otheremail@email.com'
msg = 'Random stuff!'


username = 'username'
password = 'pass'

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

错误:

Traceback (most recent call last):
  File "C:/Users/Brett/PycharmProjects/Texting/sendMessage.py", line 13, in <module>
    server = smtplib.SMTP('smtp.gmail.com')
  File "C:\Python33\lib\smtplib.py", line 238, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Python33\lib\smtplib.py", line 317, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "C:\Python33\lib\smtplib.py", line 288, in _get_socket
    self.source_address)
  File "C:\Python33\lib\socket.py", line 424, in create_connection
    raise err
  File "C:\Python33\lib\socket.py", line 415, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

【问题讨论】:

  • 你试过25端口吗?
  • @nikola for gmail?是的,我仍然遇到同样的错误。
  • 不幸的是,我只能说它对我有用。可能是临时故障还是网络问题(防火墙、代理等?)
  • 好的,所以我在另一台机器上试了一下,它成功了。不知道第一个有什么问题。谢谢大家!
  • @RoyalBam & Clemens Klien-Robbenhaar - 是的,企业防火墙似乎是此错误背后的原因之一。为了测试,在不同的网络上尝试类似的代码,它可能会起作用。我就是这种情况。所以,我改用 windows gui 库(即 pywinauto、win32gui、pywin32、win32com)。

标签: python gmail smtplib


【解决方案1】:

过去使用过 Gmail SMTP 服务器,我只能指出 SMTP 端口的编号实际上默认为适合 Gmail 的编号,因此端口参数(也可以使用冒号)可以省略。鉴于此,您可能应该尝试另一台机器以确保您没有遇到网络错误等。此外,端口 587 要求进行 ID 检查,这意味着 Gmail 可能会认为您在发送垃圾邮件或其他一些废话。不输入端口号时默认采用的25端口,不做这样的检查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2019-09-30
    相关资源
    最近更新 更多