Python smtplib:为什么拒绝连接?

时间:2014-07-12 04:57:01

标签: python email smtp send connection

所以,在Python解释器中,我这样做(只有这个):

>>> import smtplib
>>> s=smtplib.SMTP("localhost")

这就是我得到的:

Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python3.4/smtplib.py", line 242, in __init__
    (code, msg) = self.connect(host, port)
    File "/usr/lib/python3.4/smtplib.py", line 321, in connect
    self.sock = self._get_socket(host, port, self.timeout)
    File "/usr/lib/python3.4/smtplib.py", line 292, in _get_socket
    self.source_address)
    File "/usr/lib/python3.4/socket.py", line 509, in create_connection
    raise err
    File "/usr/lib/python3.4/socket.py", line 500, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

有没有人对我为何收到此错误有任何想法? (这是我的问题。)我不应该从我的理解中做到这一点。告诉我,如果我错了。

我正在使用Xubuntu 14.04。如果您需要更多信息,请询问。我不知道其他任何我可以告诉你的事情。

谢谢!

2 个答案:

答案 0 :(得分:4)

尝试通过运行

在您计算机上的另一个终端中启动服务器
python -m smtpd -n -c DebuggingServer localhost:1025

然后在第一个终端或脚本中,您可以说,

import smtplib
s = smtplib.SMTP( "localhost", 1025 )

答案 1 :(得分:2)

SMTPlib将尝试连接到通常在端口25上运行的SMTP服务,尽管它可以在各种其他端口上运行。听起来好像你需要安装sendmail,postfix或其他类似的东西。