1

我的问题是,当我运行以下代码时,我得到一个 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
4

1 回答 1

0

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

于 2013-08-09T00:06:13.007 回答