【发布时间】: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)。