我尝试用python启动一个带有以下代码的smtp服务器:
import smtplib
smtp_server = smtplib.SMTP('localhost')
我收到以下错误:
File "test.py", line 2, in <module>
smtp_server = smtplib.SMTP('localhost')
File "/usr/local/lib/python2.7/smtplib.py", line 242, in __init__
(code, msg) = self.connect(host, port)
File "/usr/local/lib/python2.7/smtplib.py", line 302, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/local/lib/python2.7/smtplib.py", line 277, in _get_socket
return socket.create_connection((port, host), timeout)
File "/usr/local/lib/python2.7/socket.py", line 571, in create_connection
raise err
我尝试telnet localhost 25
和telnet localhost
,但他们都给出了以下错误:
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused
相同的python代码在我的其他一台机器上运行得非常好。
有什么建议吗?
感谢。
更新:
我遇到问题的机器是运行Python 2.7.2,而代码运行良好的机器运行的是Python 2.6.2。我不知道这是否是其中一个原因。
答案 0 :(得分:4)
smtplib
是SMTP协议客户端。您要找的是smtpd
。
答案 1 :(得分:1)
问题是smtplib不提供SMTP服务器实现,它实现了SMTP客户端。最有可能的是,代码尝试连接到localhost并失败。见http://docs.python.org/2/library/smtplib.html
您编写的其他计算机是否已在运行SMTP服务器?
你想做什么?