0

次のコードを使用して、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 25telnet 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 コードは、私の他のマシンの 1 つで完全に正常に動作します。

何かアドバイス ?

ありがとう。

アップデート:

私が問題を抱えているマシンは Python 2.7.2 を実行していますが、コードがうまく機能するマシンは Python 2.6.2 を実行しています。これが理由の1つであるかどうかはわかりません。

4

2 に答える 2

4

smtplibSMTP プロトコル クライアントです。あなたが探しているのは ですsmtpd

于 2012-11-13T09:47:20.213 に答える
1

問題は、smtplib が SMTP サーバーの実装を提供せず、SMTP クライアントを実装することです。ほとんどの場合、コードは localhost に接続しようとして失敗します。http://docs.python.org/2/library/smtplib.htmlを参照してください

あなたが書いている他のマシンは、すでに SMTP サーバーを実行していますか?

そして、あなたは何をしようとしていますか?

于 2012-11-13T09:36:24.430 に答える