2014-04-09 3 views
1

내 서버 측 SMTP와 POP3 이벤트가 ASender와 [오류] 메시지를 보낼 : TIdCommand를 다음과 같이 :어떻게 smtp/pop3 클라이언트가 smtp/pop3 서버가 보낸 [오류] 메시지를 읽을 수 있습니까 (델파이)?

ASender.Reply.SetReply(OK, 'message to send'); 

또는 그래서 제 질문은 어떻게 메시지가 SMTP에서 읽을 수있다

ASender.Reply.SetReply(ERR, 'error message to send'); 

/pop3 클라이언트?

+0

그리고 POP3 클라이언트가 서버가 응답하지 않거나 다음과 같이 작동하지 않는다는 메시지를받는 방법이 있습니다. 시도 POP3Client.connect; // 오류 메시지를 읽는 방법 ???? end; –

답변

2

예외가 작동하는 방식을 배워야하는 것처럼 들립니다.

Connect()이 실패하면 예외가 발생합니다. 소켓 오류 코드가 포함 된 EIdSocketError을 포함하여 여러 가지 예외 유형이 가능합니다.

POP3/SMTP 명령이 실패하면 EIdRFCReplyError 예외가 발생합니다. 예외에는 서버의 응답 코드 및 메시지가 들어 있습니다. 이 정보는 구성 요소의 LastCmdResult.Code, LastCmdResult.NumericCodeLastCmdResult.Text 속성에서도 사용할 수 있습니다.

+0

감사합니다, 레미 르 보우 - LastCmdResult.FormattedReply.Text 정확히 내가 필요합니다 :) –

+1

'LastCmdResult.FormattedReply.Text'에서 읽지 마라. 대신'LastCmdResult.Text'에서 읽으십시오. 'FormattedReply'는 응답을 생성하고 파싱하는 데 사용되며, 응답을 처리하는 데는 사용되지 않습니다. –

+0

SMTP 서버가 SMTP 클라이언트에 오류 메시지를 보낼 수있는 방법과 클라이언트가 이벤트에서 메시지를 가져 오는 방법을 몇 가지 코드로 제공 할 수 있습니까? SMTPServerMsgReceive (ASender : TIdSMTPServerContext; AMsg : TStream; var LAction : TIdDataReply); to 이벤트 : SMTPClient.Send (myTidMessage); –

관련 문제