smtp/pop3客户端如何读取smtp/pop3服务器发送给它们的[错误]消息(在delphi中)?
我的服务器端smtp和pop3事件使用ASender:tid命令发送[错误]消息,如下所示:smtp/pop3客户端如何读取smtp/pop3服务器发送给它们的[错误]消息(在delphi中)?,delphi,email,indy,Delphi,Email,Indy,我的服务器端smtp和pop3事件使用ASender:tid命令发送[错误]消息,如下所示: ASender.Reply.SetReply(OK, 'message to send'); 或 因此,我的问题是如何从smtp/pop3客户端读取此消息?听起来您需要了解异常是如何工作的 如果Connect()失败,将引发异常。可以使用几种不同的异常类型,包括包含套接字错误代码的EIdSocketError 如果POP3/SMTP命令失败,将引发EIdRFCReplyError异常。异常包含服务器的
ASender.Reply.SetReply(OK, 'message to send');
或
因此,我的问题是如何从smtp/pop3客户端读取此消息?听起来您需要了解异常是如何工作的 如果
Connect()
失败,将引发异常。可以使用几种不同的异常类型,包括包含套接字错误代码的EIdSocketError
如果POP3/SMTP命令失败,将引发
EIdRFCReplyError
异常。异常包含服务器的响应代码和消息。此信息也可在组件的LastCmdResult.code
、LastCmdResult.NumericCode
和LastCmdResult.Text属性中找到。POP3客户端是否有办法获取服务器未响应或工作不正常的消息,如:尝试POP3客户端连接;除了//如何读取错误消息????结束;谢谢,Remy Lebeau-LastCmdResult.FormattedReply.Text正是我需要的:)不要从LastCmdResult.FormattedReply.Text
读取。改为读取LastCmdResult.TextFormattedReply
用于生成和解析回复,而不是处理回复。能否提供一些代码,说明SMTP服务器如何向SMTP客户端发送错误消息,以及客户端如何从事件SMTPServerMsgReceive(ASender:TIdSMTPServerContext;AMsg:TStream;var-LAction:TIdDataReply)获取错误消息;发送到事件:SMTPClient.Send(myTidMessage)@Roman_Bezjak:在OnMsgReceive
事件中,向客户端发送错误消息的唯一方法是将VAction
参数设置为dOk
以外的值,或者引发异常,然后TIdSMTPServer
将异常发送到客户端。无论哪种方式,在客户端,tidstp.Sender()
都将引发一个EIdRFCReplyError
异常,并带有相应的code
和Text
值。
ASender.Reply.SetReply(ERR, 'error message to send');