2014-04-07 4 views
2

델파이 (indy)에서 POP3 클라이언트에 문제가 있습니다. 나는 POP3Server에 연결 한 후 한 번만 일부 기능을 사용할 수 있습니다 - 처음으로 내가 입력 : 모든 것이 좋으 상기 제 2 시간 (사용자 이름, 암호 등 포함)POP3 연결이 끊어졌습니다.

POP3Client.Connect

I 내가 시도하는 경우 checkmessages 같은 메시지 '이미 연결'아무것도 얻을, retrieveHeader는, works.And를 검색

POP3Client.Disconnect

이 나에게 '연결이 정상적으로 폐쇄'오류가 제공

. 아무도 이것으로 나를 도울 수 있습니까?

답변

6

Disconnect()은 기본적으로 서버에 QUIT 명령을 보내며, 연결이 이미 끊어지면 실패합니다. 이전 소켓 오류가 발생 후 Disconnect()를 호출하는 경우, QUIT 명령을 무시할 수 Disconnect()ANotifyPeer 매개 변수에 false를 전달 :

POP3Client.Disconnect(false); 

QUIT을 우회하는 것은 UPDATE 상태를 입력에서 서버를 방지 유의 함을, 따라서 이전에 Delete()이라고했다면 UPDATE 상태에서 삭제 만 발생하므로 해당 메시지는 서버에서 제거되지 않습니다. 오류 처리 중에 만 ANotifyPeer=false을 사용하고 정상 작동 중에 ANotifyPeer=true을 사용하십시오.

+0

빠른 답변 주셔서 감사합니다. –

관련 문제