2011-12-15 3 views
3

메시지가 전달 된 경우 서버 상태 (예 : 200, 500)의 서버에서 응답을 받으려고합니다. 그렇게하는 방법?전자 메일을 보낸 후 서버에서 응답을 어떻게 다시 받습니까?

>> s = smtplib.SMTP('...') 
>> resp = s.sendmail('[email protected]', '[email protected]', 'message') 
>> print resp 
{} 
>> resp = s.sendmail('[email protected]', '[email protected]', 'message') 
>> print resp 
{} 
>> resp = s.sendmail('[email protected]', '[email protected]', 'message') 
>> print resp 
{} 

O_O 감사합니다.

답변

4

수 없습니다. SMTP는 해당 동작을 지원하지 않습니다.

4

정상적인 동작의 경우 이것은 정상적인 동작 sendmail입니다. 이것을 docsmtp lib source에서 확인할 수 있습니다. 응답으로 빈 사전은 서버가 수락 한 각받는 사람에게 메시지를 보낸 것을 의미합니다.

배송 상태에 관해서. SMPT 프로토콜은이 단계에서 메시지가 수신자에게 성공적으로 전달 될 수 있음을 보증 할 수 없습니다. 즉, 첫 번째 서버가 메시지를 수락하고 전달할 수 있지만 다음 메일 홉 서버 중 하나는이를 그냥 삭제할 수 있습니다 (물론 이유는있을 수 있지만 첫 번째 서버에는 이러한 이유에 대한 정보가 제공 될 것입니다. 이 모든 것들에 대해 당신에게 알려줄 가능성).

전자 메일에 관해서는 - '메시지를 보내는 것이 쉽지만 전달하는 것이 훨씬 어렵습니다'.

+0

그래, 내가 set_debuglevel (1) 시도하고 그 서버가 모든 주소를 받아 들일 것을 보았다. 하지만 전자 메일을 보낸 후에 서버 객체에서 getreply() 메서드를 호출하면 서버가 o_O를 보류 중입니다. – User

관련 문제