Python smtplib:为什么连接被拒绝?
在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 个回答
8
试着在你电脑的另一个终端窗口里启动一个服务器,运行下面的命令:
python -m smtpd -n -c DebuggingServer localhost:1025
然后在第一个终端窗口或者脚本里,你可以输入:
import smtplib
s = smtplib.SMTP( "localhost", 1025 )
5
SMTPlib会尝试连接到一个SMTP服务,通常这个服务是在25号端口上运行的,不过它也可以在其他不同的端口上运行。听起来你可能需要安装sendmail、postfix或者类似的东西。