2012-11-13 1 views
0

에서 SMTP를 시작할 수 없습니다 :내가 다음 코드를 파이썬으로 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 코드가 완벽하게 실행됩니다. 내 다른 기계 중 하나에 잘.

어떤 조언이 필요합니까?

감사합니다.

UPDATE :

내가 파이썬 2.7.2을 실행에 문제가있어 기계, 코드가 잘 작동하는 기계 파이썬 2.6.2을 실행하는 동안. 이것이 이유 중 하나인지 나는 모른다.

+0

로컬 smtp 서버 구성 문제입니다. 구성에 대한 자세한 내용을 보지 않고 더 많은 것을 말하기가 어렵습니다. – gefei

답변

4

smtplib은 SMTP 프로토콜 클라이언트입니다. 당신이 찾고있는 것은 smtpd입니다.

1

smtplib은 SMTP 서버 구현을 제공하지 않으며 SMTP 클라이언트를 구현합니다. 대부분 코드는 localhost에 연결하려고 시도하고 실패합니다. http://docs.python.org/2/library/smtplib.html

다른 컴퓨터에서 이미 SMTP 서버를 실행하고 있습니까?

그리고 무엇을하려고합니까?

+0

기계에서 SMTP 서버를 실행 중인지 어떻게 알 수 있습니까? 그리고 실행 중이 아니면 어떻게 시작할 수 있습니까? –

+0

예를 들어 telnet to SMTP 포트. 프로그램을 실행하지 않고 해보십시오. 성공하면 이미 서버가 있습니다. 합리적인 대답을하는 것은 어렵습니다. 나는 무엇을하려고하고 어떤 목적으로 이해해야합니다. – Ellioh

+0

프로그램 종료시 SMTP 서버를 시작하고 이메일을 보내 실행 상태를 알리려고합니다. 다른 모든 시스템에서 잘 작동합니다. –

관련 문제