2014-04-07 31 views
2

我在使用delphi(indy)中的POP3 Client时遇到了问题。连接到POP3Server后,我可以使用一些功能只有一次 - 第一次I型:POP3断开连接不起作用

POP3Client.Connect

(含用户名,密码等),一切都只是fine.But我第二次得到消息“已连接”并没有像checkmessages,retrieveHeader,检索works.And如果我尝试

POP3Client.Disconnect

它给了我一个错误“连接正常关闭”。谁能帮我这个 ?

回答

6

Disconnect()默认情况下会向服务器发送QUIT命令,如果连接已经丢失,该命令将失败。如果要调用Disconnect()发生以前的Socket错误后,通过虚伪到Disconnect()ANotifyPeer参数绕过QUIT命令:

POP3Client.Disconnect(false); 

请注意,绕过QUIT防止服务器进入UPDATE状态,所以如果您之前调用过Delete(),那么这些消息将不会从服务器中删除,因为删除仅在UPDATE状态期间发生。仅在错误处理期间使用ANotifyPeer=false,在正常操作期间使用ANotifyPeer=true

+0

感谢您的快速回答,man - it :) –