SOCKET错误:[Errno 111]连接被拒绝

时间:2013-12-03 10:55:22

标签: python sockets python-2.7 smtp

我使用简单的python lib作为SMTP 但是我收到了这个错误:

import smtplib
smtpObj = smtplib.SMTP('localhost')

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/smtplib.py", line 249, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python2.7/smtplib.py", line 309, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python2.7/smtplib.py", line 284, in _get_socket
    return socket.create_connection((port, host), timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
socket.error: [Errno 111] Connection refused

使用python-2.7

3 个答案:

答案 0 :(得分:16)

使用Python启动一个简单的SMTP服务器,如下所示:

python -m smtpd -n -c DebuggingServer localhost:1025

或者您也可以尝试使用gmail smtp设置

server = smtplib.SMTP(host='smtp.gmail.com', port=587)

答案 1 :(得分:3)

如果你:

python -m smtpd -n -c DebuggingServer localhost:1025
按照艾伦·托马斯的建议,然后确保你是:

server = smtplib.SMTP(host='localhost', port=1025)

匹配端口号,此处:1025。

答案 2 :(得分:1)

您需要启用正在使用的协议模式。然后它将在您的设备和脚本之间创建双向交互虚拟连接。 例如,以下脚本将要求启用Telnet模式,以便它可以调用他请求的另一个设备。

telA = connect(a)

   telA.write("xcom Dial Number:43062@10.47.8.108\n")
   time.sleep(10)
   quit_telnet(telA)       
   print telA.read_all()